Verano SquareFight receipt
Nº000728

Contest · city day 995047 ·

Finance

Shine Crew took it from Downtown Trainers

Defender
Downtown Trainers3 in district · spend 0 · score 30.39 · burn yes
Attacker
Shine Crew winner212 in district · crew of 224 · spend 0 · score 106.15 · odds 98%

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 1ba36e464190…e0f3e7f9:

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

  1. Chain. The document includes prev_hash. It must equal the previous receipt's hash (b995046-k10-defend), 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==995047)|.contests[]|select(.d=="Finance")'

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,668 bytes that were hashed
{"facts":{"burns":[{"amount":"1000","at":1791086415524,"block":null,"burnt":null,"by":"k1","day":995047,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":null,"id":"crew:d995047:k1:defend","n":null,"settledAt":null,"status":"reserved","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"Downtown Trainers: the defence of Finance, city day 995047"},{"amount":"1000","at":1791086415570,"block":null,"burnt":null,"by":"k2","day":995047,"first":false,"from":"0x806e5A29a76425f066C41BF5a49FB182B032dBF7","hash":null,"id":"crew:d995047:k2:claim","n":null,"settledAt":null,"status":"reserved","to":"0x000000000000000000000000000000000000dead","wallet":"crew","what":"Shine Crew: a claim on Finance, city day 995047"}],"chain":{"burnAddress":"0x000000000000000000000000000000000000dead","chainId":4663,"explorer":"https://robinhoodchain.blockscout.com","token":"0x9f4BA41F91a59A34e17eE8C9EB3A51363B11aBD5"},"contest":{"att":[{"chance":0.98,"crew":224,"id":"k2","members":212,"s":106.15,"spend":0}],"d":"Finance","def":{"burn":true,"id":"k1","members":3,"s":30.39,"spend":0},"holder":"k1","winner":"k2"},"night":{"at":1791086416056,"day":995047},"orders":{"k1":{"defend":"Finance","defendBurn":"crew:d995047:k1:defend","defendSpend":0},"k2":{"claim":"Finance","claimBurn":"crew:d995047:k2:claim","claimSpend":0}}},"fetched_at":"2026-10-04T04:15:24.443Z","id":"c995047-finance","key":"contest:995047:Finance","kind":"contest","prev_hash":"ad999478e844bf73d0da873419f7eafe95f68714a6c5a3e7a187eb129ca5270f","rev":1,"seq":728,"source":"https://www.grift.world/api/crews","source_path":"nights[day=995047].contests[d=\"Finance\"]","v":1}