Verano SquareFight receipt
Nº000822

Contest · city day 995604 ·

The Flats

Meridian Fleet held it

Defender
Meridian Fleet winner0 in district · spend 60 · score 50.98 · burn yes
Attacker
Spire Syndicate1 in district · crew of 3 · spend 0 · score 17.59
Attacker
PumpShop Crew0 in district · crew of 1 · spend 90 · score 50.63 · odds 49%

Orders that night

War-chest burns on-chain

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 6b7647b2987d…71a1bd42:

curl -s https://verano-square.fly.dev/api/turf/receipts/c995604-the-flats | 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/c995604-the-flats/canonical | sha256sum

  1. Chain. The document includes prev_hash. It must equal the previous receipt's hash (c995603-the-flats), so no earlier receipt can change without breaking every one after it.
  2. 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==995604)|.contests[]|select(.d=="The Flats")'

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 2,200 bytes that were hashed
{"facts":{"burns":[{"amount":"1000","at":1792089049739,"block":null,"burnt":null,"by":"k11","day":995604,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":null,"id":"crew:d995604:k11:defend","n":null,"settledAt":null,"status":"reserved","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"Meridian Fleet: the defence of The Flats, city day 995604"},{"amount":"1000","at":1792089049795,"block":null,"burnt":null,"by":"k13","day":995604,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":null,"id":"crew:d995604:k13:claim","n":null,"settledAt":null,"status":"reserved","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"Spire Syndicate: a claim on The Flats, city day 995604"},{"amount":"1000","at":1792089049830,"block":null,"burnt":null,"by":"k14","day":995604,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":null,"id":"crew:d995604:k14:claim","n":null,"settledAt":null,"status":"reserved","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"PumpShop Crew: a claim on The Flats, city day 995604"}],"chain":{"burnAddress":"0x000000000000000000000000000000000000dead","chainId":4663,"explorer":"https://robinhoodchain.blockscout.com","token":"0x9f4BA41F91a59A34e17eE8C9EB3A51363B11aBD5"},"contest":{"att":[{"crew":3,"id":"k13","members":1,"s":17.59,"spend":0},{"chance":0.49,"crew":1,"id":"k14","members":0,"s":50.63,"spend":90}],"d":"The Flats","def":{"burn":true,"id":"k11","members":0,"s":50.98,"spend":60},"holder":"k11","winner":"k11"},"night":{"at":1792089049900,"day":995604},"orders":{"k11":{"defend":"The Flats","defendBurn":"crew:d995604:k11:defend","defendSpend":60},"k13":{"claim":"The Flats","claimBurn":"crew:d995604:k13:claim","claimSpend":0},"k14":{"claim":"The Flats","claimBurn":"crew:d995604:k14:claim","claimSpend":90}}},"fetched_at":"2026-10-15T18:46:36.014Z","id":"c995604-the-flats","key":"contest:995604:The Flats","kind":"contest","prev_hash":"278d738381e599e0f9308c360101369b5b965db672d3ba9258f2d7c6797219a0","rev":1,"seq":822,"source":"https://www.grift.world/api/crews","source_path":"nights[day=995604].contests[d=\"The Flats\"]","v":1}