Verify it yourself
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 a50cb05155f0…20897bd1:
curl -s https://verano-square.fly.dev/api/turf/receipts/c995012-the-beach | jq -cjS .receipt.document | sha256sum
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/c995012-the-beach/canonical | sha256sum
- Chain. The document includes
prev_hash. It must equal the previous receipt's hash (c995012-downtown), 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:curl -s https://www.grift.world/api/crews | jq '.nights[]|select(.day==995012)|.contests[]|select(.d=="The Beach")'
- On-chain. Open each burn's tx on Robinhood Chain's blockscout. It should show the war chest wallet sending the amount to the burn address.
Full chain: /api/turf/receipts?order=asc&full=1 · server-side check: /api/turf/receipts/verify · how it works: /start.md
Canonical JSON the exact 1,608 bytes that were hashed
{"facts":{"burns":[{"amount":"1000","at":1791023415925,"block":79014570,"burnt":"1000","by":"k3","day":995012,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":"0x83b34b2452903225b64396b6f18c7485b62189f644f2e4c1df3b55480c58ec06","id":"crew:d995012:k3:claim","link":"https://robinhoodchain.blockscout.com/tx/0x83b34b2452903225b64396b6f18c7485b62189f644f2e4c1df3b55480c58ec06","n":null,"settledAt":1791023476252,"status":"settled","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"Card Sharp Society: a claim on The Beach, city day 995012"}],"chain":{"burnAddress":"0x000000000000000000000000000000000000dead","chainId":4663,"explorer":"https://robinhoodchain.blockscout.com","token":"0x9f4BA41F91a59A34e17eE8C9EB3A51363B11aBD5"},"contest":{"att":[{"chance":0.46,"crew":247,"id":"k3","members":27,"s":87.74,"spend":40}],"d":"The Beach","def":{"burn":false,"id":"k10","members":81,"s":92.98,"spend":60},"holder":"k10","winner":"k3"},"night":{"at":1791023416349,"day":995012},"orders":{"k10":{"defend":"The Beach","defendBurn":null,"defendSpend":60,"defendVoid":"over THE CREWS' WAR CHEST's 24-hour cap of 250000 $GRIFT (250000 already in the last 24 hours)"},"k3":{"claim":"The Beach","claimBurn":"crew:d995012:k3:claim","claimSpend":40}}},"fetched_at":"2026-10-03T10:33:17.570Z","id":"c995012-the-beach","key":"contest:995012:The Beach","kind":"contest","prev_hash":"25d1a63a40eab4b489abcb547eb4010466aad1e8e9f50937621c09f25b2ddb69","rev":1,"seq":535,"source":"https://www.grift.world/api/crews","source_path":"nights[day=995012].contests[d=\"The Beach\"]","v":1}