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 f7740295b60d…b15b4288:
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/b994912-k12-defend/canonical | sha256sum
Chain. The document includes prev_hash. It must equal the previous receipt's hash (b994898-k11-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,238 bytes that were hashed
{"facts":{"burn":{"amount":"1000","at":1790843446741,"block":77232968,"burnt":"1000","by":"k12","day":994912,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":"0x2489d92dc08c4a0910e57c24e5e44ff1f1b9506950c58aee211198bc1288d3b6","id":"crew:d994912:k12:defend","link":"https://robinhoodchain.blockscout.com/tx/0x2489d92dc08c4a0910e57c24e5e44ff1f1b9506950c58aee211198bc1288d3b6","n":null,"settledAt":1790843448175,"status":"settled","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"The Social Club: the defence of Downtown, city day 994912"},"chain":{"burnAddress":"0x000000000000000000000000000000000000dead","chainId":4663,"explorer":"https://robinhoodchain.blockscout.com","token":"0x9f4BA41F91a59A34e17eE8C9EB3A51363B11aBD5"},"night":{"at":1790843446849,"day":994912},"orders":{"k12":{"defend":"Downtown","defendBurn":"crew:d994912:k12:defend","defendSpend":38}}},"fetched_at":"2026-10-01T08:32:02.302Z","id":"b994912-k12-defend","key":"burn:crew:d994912:k12:defend","kind":"burn","prev_hash":"6e622e0e176a7919f1305417daf532b743abd62af70c0f31857743e9ad76c38f","rev":1,"seq":365,"source":"https://www.grift.world/api/crews","source_path":"chest.burns[id=\"crew:d994912:k12:defend\"]","v":1}