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 6191530de9f8…f8fff785:
curl -s https://verano-square.fly.dev/api/turf/receipts/c994894-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/c994894-the-beach/canonical | sha256sum
- Chain. The document includes
prev_hash. It must equal the previous receipt's hash (c994894-stadium), 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==994894)|.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,425 bytes that were hashed
{"facts":{"burns":[{"amount":"1000","at":1790810990819,"block":76911309,"burnt":"1000","by":"k9","day":994894,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":"0x0b4f150e0a34543dbf6781799a8042dfd30d468c8876c85d73cdd45fa26509b5","id":"crew:d994894:k9:claim","link":"https://robinhoodchain.blockscout.com/tx/0x0b4f150e0a34543dbf6781799a8042dfd30d468c8876c85d73cdd45fa26509b5","n":null,"settledAt":1790811054156,"status":"settled","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"Boardwalk Beats: a claim on The Beach, city day 994894"}],"chain":{"burnAddress":"0x000000000000000000000000000000000000dead","chainId":4663,"explorer":"https://robinhoodchain.blockscout.com","token":"0x9f4BA41F91a59A34e17eE8C9EB3A51363B11aBD5"},"contest":{"att":[{"chance":0.74,"crew":49,"id":"k9","members":49,"s":56.01,"spend":0}],"d":"The Beach","def":{"burn":false,"id":"k3","members":27,"s":39.18,"spend":0},"holder":"k3","winner":"k3"},"night":{"at":1790810990911,"day":994894},"orders":{"k9":{"claim":"The Beach","claimBurn":"crew:d994894:k9:claim","claimSpend":0}}},"fetched_at":"2026-10-01T00:57:07.617Z","id":"c994894-the-beach","key":"contest:994894:The Beach","kind":"contest","prev_hash":"b81cee5144e264d63074caf749c07ca53579af0fc3224b230ff67e8b7f989502","rev":1,"seq":254,"source":"https://www.grift.world/api/crews","source_path":"nights[day=994894].contests[d=\"The Beach\"]","v":1}