Fetching the ledger.
Every figure on this site is a contract read, so the page waits for the chain rather than showing you a cached guess.
Every figure on this site is a contract read, so the page waits for the chain rather than showing you a cached guess.
These are transactions, not samples — read from the ReceiptLog contract on every page load. There is no simulated mode in this build. If the chain is unreachable this page says so instead of showing you plausible-looking activity.
The Revealed event emits every field including the salt, so a receipt is self-contained. Nothing is held back off-chain, which means this is a check a stranger can run against a public RPC.
Recompute the commitment from the revealed preimage. If it does not equal the stored commitHash, the manager changed its mind after seeing the outcome — and the contract would have reverted rather than let that happen.
The commit transaction must sit in a strictly earlier block than the execution. That block gap is the entire proof: it is what makes "decided before it traded" a fact about the chain rather than a claim on a website.
# every field below is emitted in the Revealed event, salt included cast keccak $(cast abi-encode \ "f(uint8,uint256,address,bytes32,string,bytes32)" \ <action> <sizeWei> <target> <modelDigest> "<note>" <salt>) # compare against the stored commitment cast call 0xF305B4bAB8891489A66b979BFfF80060672c76d6 \ "receipts(uint256)" <cycle> # or run the bundled verifier over every cycle at once npm run verify
These are cyclesRun, totalIngested, totalBurned and totalPaid read directly from storage. They count only settled transactions — never a spreadsheet, never this server's memory.