SIGNED B BONDED
intelligence-invariant security · research program

Bonded Validation

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.

99/99
Forge tests — see the CI run →
8+13
Halmos theorems — read the proofs →
17/17
Independent reproduction — read the audit →
v0.4
Live on Sepolia — see the log →
the problem

Trust in AI agents is fragmented

ERC-8004 gives agents identity, reputation, and a validation registry — then deliberately leaves staking and slashing to whatever gets built on top.

what exists today

Validator-side bonding, only

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.

what we build

Speaker-side bonding

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.

the components

Six pieces, one accounting model

Each is independently testable; together they cover a claim's whole lifecycle from bond to verdict.

01

IBondedValidator

The minimal interface — stake, requestValidation, submitVerdict, freeBond. Judgment mechanism deliberately unspecified so it composes with re-execution, zk, or committee designs.

02

Bonded Judge Panel

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.

03

Optimistic Lapse

An unchallenged claim settles losslessly after a fixed window instead of locking forever. Unverified, not verified — and labeled that way.

04

Proof-Carrying Judgment

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.

05

Regulation-Invariant Voucher

The credit that pays for validation cannot appreciate, transfer, pool, or yield — four properties machine-checked with Halmos, 7/7.

06

Machine-Checked Proofs

Contract theorems over compiled bytecode (Halmos) and economic theorems (z3, cross-checked on a second solver, cvc5) — not just unit tests.

the mechanism

Three ways an utterance can end

No fourth path exists by construction — the contract has no function for anything else.

Wrong

Slashed

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.

Honest

Abstained

"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.

Ignored

Unchallenged

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.

the ledger

Live on Sepolia — v0.4

Reused registries from v0, unchanged across five versions. Every address below is independently checkable.

Challenge window
86,400s — lower-bounded by measured L1 worst-case inclusion stall, not guessed
Whitepaper
tag wp-v1.0, 2026-08-27 — frozen before external review
Full log
docs/deployments.md — v0 through v0.4, every tx hash
the honesty

We publish the misses, not just the passes

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.

2026-09-03
Our machine proof was vacuous
A Halmos property reported [PASS] by silently discarding the exact revert branch it was supposed to check. Concrete counterexample: two judges voting 101 locks a claim's bond forever. Fixed in v0.3.
2026-09-04
Judge votes had no secrecy
Panel selection was commit-reveal protected since Exp9 — the votes themselves were not. A late voter could see earlier votes first. Fixed in v0.4: commitVerdict + revealVerdict, reusing the same pattern rather than inventing a new one.
2026-09-04
A cost we calculated and left open
Exact capture-probability math (full permutation enumeration, not Monte Carlo) on our judge lottery's veteran weighting. Cheap to capture under ~15 judges; past ~30 diverse participants, capture cost exceeds nearly any claim's value. Recorded as deployment guidance, not a code change.
provenance

Built in the open, by one researcher

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.

17/17
Independent reproduction audit
1
Pseudonymous researcher
2
Self-found bugs, disclosed

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.

faq

Questions people actually ask

Is there a token?
No. Bonds are denominated in existing assets; the Sepolia test asset is valueless by construction. Nothing is sold. A separate, unrelated repository by the same author (a transfer-locked game asset) inherits nothing from this project.
How is this different from Kleros or UMA?
Kleros bonds jurors; UMA's Optimistic Oracle pays a disputed claim's loser to the winner. Both bond the judging side. This bonds the agent making the claim in the first place — the two are complementary layers, not competitors.
Is it actually live, or just a whitepaper?
Live on Sepolia, Sourcify-verified, currently v0.4. Every version from v0 through v0.4 is listed with its address in docs/deployments.md — nothing is described that isn't also deployed.
What isn't proven yet?
Verdicts still come from re-executing judges — zk/optimistic paths beyond deterministic claim classes are the open research core. Benchmarks are toy-scale and synthetic. No third-party audit yet. All of this is disclosed in the whitepaper's own limitations section, not hidden in a footnote.

Reviews, refutations, and reproduction attempts are welcome.

MIT-licensed, reproducible from the repository's own commands, honest limitations disclosed in every document — including this one.