Drop a receipt here
or
“Trusted third parties are security holes.” Nick Szabo, 2001. Heartwood's whole design follows from taking that seriously: you should not have to trust the auditor either, which is why this page recomputes rather than reports.
What is a receipt?
A record of an audit that asked whether an AI endpoint really spent the compute it billed for. It contains the seed that regenerates every question, a hash committing to those questions, the public random beacon that chose which ones were used, every response, and the resulting verdict.
The point of the format is that you do not have to trust whoever produced it. Everything in it can be recomputed.
The eight checks
- Well formed — the receipt is structurally valid and within sane bounds. A receipt is a file a stranger hands you, so it gets treated as hostile input.
- Pool commitment — regenerate all the questions from the seed and confirm they hash to the committed value. Defeats swapping in a different set of questions after the fact.
- Beacon selection — recompute which questions were used, from the public beacon. Defeats cherry-picking and reordering.
- Response hashes — every stored response still hashes to its recorded digest. Defeats editing what the endpoint said.
- Regrading — re-mark every response from its text. Defeats flipping a right answer to wrong or the reverse.
- Bet matches plan — the wager was the one committed in advance, not one tuned after seeing the outcomes.
- Wealth recomputed — the evidence total follows from the graded answers. Defeats inflating the result.
- Verdict consistent — the stated conclusion is the one the evidence actually reaches.
Why this page can only do six of them
Two checks — the pool commitment and the regrading — require
regenerating every question and re-marking every answer. That needs the full
challenge generators, which live in the Python implementation. This page is
honest about the gap rather than quietly passing those checks: they are
marked SKIP, never PASS.
python verify.py your_receipt.json --online
The one thing no offline check can tell you
The order of questions is derived from the beacon
the receipt itself carries. So these checks prove a receipt is
self-consistent — not that its beacon was ever really drawn. An auditor who
invents that value chooses the sample; we measured it at 1,017 tries and 0.4
seconds to manufacture a false accusation that passes everything. The
--online flag fetches the round from the drand chain and settles
it. This page tells you when a receipt has not been anchored.
Reading the verdict
- EFFORT_DEFICIT — evidence crossed the threshold. At α = 0.01, an honest endpoint produces this at most 1 time in 100.
- NO_EVIDENCE_OF_DEFICIT — not a clean bill of health. It means no deficit was demonstrated within the queries spent, at the declared tolerance. Absence of evidence, stated as such.
- B_UNDERPERFORMS_A — a paired audit found one endpoint losing to another that claims the same model.
“Cypherpunks write code.” Eric Hughes, A Cypherpunk's Manifesto, 1993. Heartwood is about accountability rather than privacy — a different object, the same posture: don't ask a powerful counterparty to be trusted, build the thing that checks.