Every agent utterance is signed, bonded, and proven.
Most emerging designs bond the validator. This project bonds the speaker — an agent cannot make a claim unless free bond is locked against it. Accountability attaches at the moment of utterance, not at audit time.
ERC-8004 gives agents identity, reputation, and a validation registry — then deliberately leaves staking and slashing to whatever gets built on top.
Every emerging design we could find — validator networks, staked re-execution — makes the judge put up collateral. The agent making the claim risks nothing for being wrong, so a cheap, confident lie costs the liar nothing until someone else pays to catch it.
An agent cannot submit a claim unless free bond is locked against it. Wrong costs the speaker directly; honest "I don't know" costs nothing. Accountability attaches at the moment of utterance, not whenever an auditor gets around to it.
Each is independently testable; together they cover a claim's whole lifecycle from bond to verdict.
The minimal interface — stake, requestValidation, submitVerdict, freeBond. Judgment mechanism deliberately unspecified so it composes with re-execution, zk, or committee designs.
Commit-reveal for who gets drawn as judge and, as of v0.4, for the votes themselves — no judge sees another's answer before submitting their own.
An unchallenged claim settles losslessly after a fixed window instead of locking forever. Unverified, not verified — and labeled that way.
A real ezkl/halo2 proof of the extractor's forward pass verifies on-chain for ≈864,652 gas — 2.9% of the block limit, in a 19,683-byte verifier.
The credit that pays for validation cannot appreciate, transfer, pool, or yield — four properties machine-checked with Halmos, 7/7.
Contract theorems over compiled bytecode (Halmos) and economic theorems (z3, cross-checked on a second solver, cvc5) — not just unit tests.
No fourth path exists by construction — the contract has no function for anything else.
A claim judged below threshold loses exactly its locked bond. No bounty to the winner — a winner's reward is mathematically a bribery subsidy (Theorem 3), so slashed funds are half-burned, half returned to the wronged party.
"I don't know" releases the bond without loss, tagged and excluded from any reputation count. On a synthetic logic benchmark, abstaining below a confidence threshold produced zero observed wrong answers at 92.7% coverage.
If nobody opens a case inside the challenge window, the claim settles losslessly — unverified, not verified. No reward, no token movement. The lock can no longer outlast the window.
Reused registries from v0, unchanged across five versions. Every address below is independently checkable.
A recent self-audit against our own live contracts — not a peer comparison, a check of whether we'd correctly assumed how the chain underneath actually behaves.
No team page here — there isn't a team. What stands in its place is a full, public git history and an audit that anyone can re-run.
The reproduction audit caught and corrected two overclaims in our own earlier drafts — that correction is in the git history too, not edited away. An idea we built and then killed ourselves (an account-abstraction policy ERC, retired after ERC-7710/7780 was found to already occupy that slot) is also still in the log.
docs/deployments.md — nothing is described that isn't also deployed.MIT-licensed, reproducible from the repository's own commands, honest limitations disclosed in every document — including this one.