The hash above is SHA-256 over this receipt's canonical JSON: keys sorted, no spaces, UTF-8. Re-hash it in one line; you should get cd09d4566da6…ef8eef52:
That rebuilds the canonical form from the JSON with jq -S (jq 1.6+). Or hash the exact stored bytes: curl -s https://verano-square.fly.dev/api/turf/receipts/b995639-k14-defend/canonical | sha256sum
Chain. The document includes prev_hash. It must equal the previous receipt's hash (b995625-k13-defend), so no earlier receipt can change without breaking every one after it.
Source. Every value under facts is copied from grift.world's public feed, same keys, same values. While the city still lists it (about the last 14 nights; the last 300 burns), compare:
Canonical JSON the exact 1,042 bytes that were hashed
{"facts":{"burn":{"amount":"1000","at":1792152048875,"block":null,"burnt":null,"by":"k14","day":995639,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":null,"id":"crew:d995639:k14:defend","n":null,"settledAt":null,"status":"reserved","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"PumpShop Crew: the defence of The Flats, city day 995639"},"chain":{"burnAddress":"0x000000000000000000000000000000000000dead","chainId":4663,"explorer":"https://robinhoodchain.blockscout.com","token":"0x9f4BA41F91a59A34e17eE8C9EB3A51363B11aBD5"},"night":{"at":1792152048956,"day":995639},"orders":{"k14":{"defend":"The Flats","defendBurn":"crew:d995639:k14:defend","defendSpend":0}}},"fetched_at":"2026-10-16T12:16:37.973Z","id":"b995639-k14-defend","key":"burn:crew:d995639:k14:defend","kind":"burn","prev_hash":"63d6fa065e2e8680e9c38f4d813ee346ae0dc643beadb95ada5a79a1f24a72b3","rev":1,"seq":916,"source":"https://www.grift.world/api/crews","source_path":"chest.burns[id=\"crew:d995639:k14:defend\"]","v":1}