Off-LLM security  ·  self-hosted  ·  ● live on Base

One dime.
One receipt.
Two books that don't have to match.

Pay $0.10. Keep a receipt anyone can re-check. Your AI spends a dime through IronBridge — not your whole wallet. The two public books are allowed to disagree. That is the product.

Built on  HTTP 402 · Base · USDC · Cloudflare Workers · MCP · npm
Why IronBridge

Give the agent a key, or give it a gate.

Key-custody vendors keep the checkpoint inside their cloud, on private logs. IronBridge runs it in yours — deterministic code below the model, every decision on a public hash-chain.

Wiring an agent to money today

  • 01The model ends up near a key, a card, or a signer it can talk into things.
  • 02One jailbroken prompt and the agent asks to move money — and something says yes.
  • 03Key-custody vendors keep the checkpoint inside their cloud, on their private logs.
  • 04You end up trusting logs you cannot re-check.

The IronBridge way

  • The checkpoint runs in your own Cloudflare account, not a vendor's.
  • The gate is built so it can't move your funds on its own — on-chain pay-refusal is proven live.
  • Published decisions enter LAW-25. You re-walk the returned linkage window; historical v1 breaks and leaf-integrity failures remain disclosed.
  • Seeing it costs one $0.10 call. No key, no account.
Don't trust — verify

The numbers are pulled live.

This page asks the live API when it loads. Anyone can ask the same endpoints — no account, no key, nothing to take on faith.

live
published LAW-25 rows — the current response window is link-continuous; historical v1 breaks are disclosed
GET /api/law25/verify
2
public books that are allowed to disagree — the claimable unique. See them live →
GET /api/law25/verify · /api/chain/page
$0.10
per call, USDC on Base. Page Audit is the payable $0.10 job. BNKR fulfillment is down — do not send a dime on that lane. GITLAWB is a two-transfer split, not this simple checkout. No external customer sale is claimed.
345
laws enforced by the deterministic gate
GET /api/stats

Re-walk the chain yourself at /trust — zero dependencies, no account.

GET /api/law25/verify checking…
chain length window last-20
› re-walking the live hash-chain…
tap a row # to reveal its sha-256 linkage
Shipping today — not a roadmap

One $0.10 job you can run right now.

No signup. Ask unpaid and the gate answers HTTP 402. Pay $0.10 USDC on Base, resend the tx, get the data once — a receipt. Dog Tag and MCP live on /start.

01 · PAY-THEN-PROVE

$0.10 job that mints a receipt

Your agent paid. Your money did not move. Anyone can re-check both books. Ask unpaid and the gate answers HTTP 402 — 402 is the door; the receipt is the artifact. Pay $0.10 USDC on Base, resend the transaction hash, and the server verifies on-chain and serves once.

live · USDC · $0.10 / call

Building your own app? Put the gate on your app — paid calls in two lines →

Live right now · check it yourself

loading live state…

Try it — three steps

1 · Connect your wallet   2 · Pay $0.10 USDC on Base   3 · Keep the receipt. Anyone can re-check it.

Open the kiosk

Advanced — agent curl path
# 1. ask with no payment — the gate answers with a challenge, not data:
curl -s -X POST https://ironbridge.foundation/api/pay/pageaudit/page_audit
HTTP/1.1 402 Payment Required  { "network":"base", "asset":"USDC", "price":"0.10", ... }

# 2. after on-chain pay, resend with the payment proof header:
curl -s -X POST https://ironbridge.foundation/api/pay/pageaudit/page_audit -H "X-IB-Payment-Tx: 0x<your-tx-hash>"
# → 200 OK · live data once · verified on-chain · replay-guarded

# Prefer the kiosk for a keepable receipt UI: /kiosk
# Dog Tag and MCP: see /start

Machine-readable: /llms.txt · /.well-known/x402 · /x402-info · Docs · For builders.

How it works

In plain English: ask → check → clear.

Your AI can pay for things on its own — but it can never move your money. A checkpoint you control sits between the AI and your wallet and only lets real, paid requests through.

01

Your agent asks

It asks to pay for something — say, an API call. The AI can't reach your rules, your key, or the checkpoint itself; they live outside its reach.

02

A checkpoint you run confirms

A checkpoint you run — not the AI — confirms the payment really happened, on-chain.

03

Only then does the call clear

The data is served once and a hash-chained receipt is minted. If the AI is tricked or hacked, it gets nothing.

RECEIPT · two public booksSee a receipt
LAW-25 seq  live head — keyed authorship seal, leaves withheld
seal seq     live tip — the other book; counts disagree
result digest  empty on this shell — not a customer sale; no fake pay_tx
keep      /receipt · Anyone can re-check both books

Your agent paid. Your money did not move. Keep this. Anyone can re-check both books. Anyone can re-check the disclosed bytes. Authorship sealing uses a keyed HMAC (not a stranger-recompute proof). Two chains disagree. Operator self-tests exist. No external customer paid.

Risk & controls

Who holds what.

Exactly what you hold, what IronBridge holds, and what IronBridge cannot do — stated plainly, verifiable on the chain.

You hold

  • Your keys and your wallet — on GITLAWB rails, payments point at your wallet, never default to us.
  • Your own Cloudflare account running the checkpoint.
  • Your revenue — your code and your money never route through us.

IronBridge holds

  • Anyone can re-check the disclosed bytes. Authorship sealing uses a keyed HMAC (not a stranger-recompute proof).
  • A treasury Safe that receives the $0.10 lane fees.

What IronBridge does not do

  • It cannot move your funds on its own. On-chain pay-refusal is proven live; per-action caps are built but not yet exercised on external funds.
  • No accounts, no custody, no signup. There is nothing of yours here to lose.
  • ZK proving is not live as a public verifier. /.well-known/trust.json is envelope-only (upstream-envelope-only); a pinned stranger-runnable verifier is still pending.
  • No verified outside sales are reported. Every sample proof is an operator self-test you can re-verify.
Frequently asked

Everything you'd want to know before the first call.

Short answers, no hedging — and where a claim is provable, the link to prove it yourself.

Can I see it work without a wallet or paying?

Yes — free. Ask for paid data with no payment: curl -s -X POST https://ironbridge.foundation/api/pay/pageaudit/page_audit — you get a 402 challenge back, proof the agent can request but cannot bypass the gate. You only need $0.10 of USDC if you want the data itself. Re-walking the chain at /api/law25/verify is also free, no account.

What is IronBridge?

A hard checkpoint that runs underneath an AI agent — not inside it. The agent can ask to pay for things; deterministic code, not the model, decides what clears, and published decision rows enter LAW-25, whose current response window is link-rewalkable and whose date-specific heads may be anchored on Base. Historical v1 discontinuities are disclosed.

Can it spend my money?

Your agent can pay for its own calls. It can never move your money: the gate is built so it can't move your funds on its own, and on-chain pay-refusal is proven live. A jailbroken prompt gets zero data on a forged or unpaid call.

What do I need to try it?

A wallet with $0.10 USDC on Base (plus a little ETH for gas). Open /kiosk, connect, pay once, keep the receipt. No key, no account, no signup. Agents can still use the curl path under Advanced on this page, or start at /start.

What's a receipt?

Your agent paid. Your money did not move. Keep this. Anyone can re-check both books. Every paid call mints a keepable receipt at /receipt. Anyone can re-check the disclosed bytes. Authorship sealing uses a keyed HMAC (not a stranger-recompute proof). There are two public chains that currently disagree; they are not the same ledger; v1 row=1 leaf_integrity is false. Where inputs are disclosed, you can recompute the digest and leaf; the LAW-25 page separately re-walks only the returned linkage window. Withheld leaf preimages and full-history replay remain operator-attested. Operator self-tests exist. No external customer paid.

Do I have to trust your logs?

Not for the linkage. Each verdict is committed into a hash-linked chain — every row carries the previous row's hash. You re-walk the linkage yourself at /api/law25/verify and confirm no row was altered or reordered after the fact. Row contents stay operator-attested — we mark what you can prove vs what you take on trust.

What does it cost?

$0.10 USDC per paid call on the live lane. Dog Tag and MCP are on /start. Full detail on /pricing.

Is anyone paying for this yet?

No — and we won't pretend otherwise. No external customer has paid a lane yet; the lanes are open, the traction isn't claimed. Every pay path has been proven end-to-end by an operator self-test: a real $0.10 USDC payment settled on-chain, not a customer sale.

What's not live yet?

Zero-knowledge proving is not a live public verifier. /.well-known/trust.json is envelope-only (upstream-envelope-only); it does not attest a live ZK circuit. A pinned stranger-runnable public verifier is still pending. Nightly anchoring is active; pre-cron and missed days are not backfilled automatically, and rows after the latest confirmed anchor remain unanchored.