Paste a receipt id or a Base transaction hash. Your browser fetches the public LAW-25 ledger and re-walks every hash link with its own crypto, then reads the payment and the daily anchor straight from Base L2 through public RPCs we don't operate. We assert nothing on this page — every verdict below is computed on your machine.
# nothing is sent anywhere except read-only GET/eth_call. This page never asks for a wallet and never moves funds.
CHECK 1○
Ledger linkage
Fetch the live chain window; re-walk prev → row for every link using SHA-256 in this browser.
Proves: the fetched window is continuous. Doesn't prove: row contents (withheld, HMAC-sealed).
CHECK 2○
Receipt
Fetch the receipt; confirm its treasury receiver and that its ledger-tip pointer fits the live chain.
Proves: consistency. Doesn't prove: inclusion — the binding is a tip pointer, not a Merkle proof (planned).
CHECK 3○
Payment on Base
Read the transaction from Base via a public RPC and decode the USDC transfer: payer → treasury Safe, exact amount.
Proves: the money moved on-chain, read independently of IronBridge.
CHECK 4○
Daily anchor
Call getAnchor(day) on the anchor contract yourself and compare to the operator's claimed seal.
Proves: a timestamped commitment the operator can't rewrite. Doesn't prove: leaf contents.
Evidence tape
every URL fetched · every hash compared · printed as it runs
# idle — paste a receipt id or tx hash above, or load the real sample.
# the sample is IronBridge's own $0.10 operator self-test, not a customer sale.
# Recompute it independently; do not treat it as outside revenue.
# the tape is your local trace. Reload and re-run any time; the chain only ever appends.
Run it outside the browser
Browsers can be lied to. Download the standalone verifier — ~200 lines, zero dependencies, Node 18+ — read it, then run it from your own terminal:
# read it first. it's short on purpose.
curl -O https://ironbridge.foundation/verify.js
node verify.js 1715a8a45fd71cfb
Exit code 0 = every check passed on your machine. It performs the same four checks as this page, plus prints the full trace.
Verify the constants too
Trustlessness includes the addresses. Don't take them from us — check each on a block explorer:
No signup. No API key. Prefill is a public example — it should PASS. Change one character in Your text → FAIL. This is not the unique proof; the two public books are.
What this does — and does not — prove
The gate sits below the model. A compromised or jailbroken agent can only ask for money, keys, or identity; a deny-by-default checkpoint outside the LLM decides. That's the design claim — this page proves the audit trail of it, not an absolute. We don't use words like "un-drainable."
Linkage ≠ payment. Check 1 proves the ledger window is continuous; only check 3 — read from Base, not from us — proves money moved.
Row contents are withheld to protect internal operations; each row carries a keyed HMAC authorship seal. You can spot-check any row's server-side leaf recompute at /api/law25/verify?row=N, but full content recomputation is not public.
Early rows are a bring-up era. Rows before ~seq 1250 (May 13–14, 2026) predate the canonical leaf format and contain documented discontinuities. Every receipt lives in the modern era, which is what you verify here.
Receipt inclusion is a pointer today. Folding receipt-chain heads into the daily anchor (true inclusion proofs) is on the roadmap — until it ships, checks 3 and 4 are the hard guarantees.
Spend caps exist in code and have not yet been exercised against independently sourced customer funds. No verified outside sales are reported; every sample receipt is labeled as an operator self-test.