For builders

Put the gate on your app.

Add the rails to an app you already have, launch a pre-built package, or deploy the whole gate and audit chain into your own account.

Live organism · stranger-checkable

More than two books — watch it run

Claimable unique: two public books are allowed to disagree. Also live right now for any stranger: cold witness (never a signer), gauntlet + /api/refusals, operator-truth invariants, disagree packet jobs, MCP + x402 discovery, and a dime kiosk with a keepable receipt. This panel loads from public APIs — refresh to re-check.

State
loading /api/disagree
LAW-25 book
chain_length
Seal book
tip_seq
Cold witness
second box · never signer
Gauntlet
external refuse probe
Edge witness
lane GETs + 402s
Refusals
/api/refusals
Operator truth
/.well-known/operator-truth
On-chain anchor
/api/anchor
    # loading verify curls…

    Put the gate on your app — GITLAWB rails

    Built something in a vibe-code tool and want it to take real money safely? Add two lines. Your app now charges a stranger, and the gate refuses unpaid or forged calls today (proven live); per-action spend-caps are built and ship in IronBridge-in-a-Box, not yet exercised by an external payment. It emits a re-verifiable receipt — your code and your money never route through us. You keep your revenue; the rails take a small fee on-chain at pay time. (Live — the 402 gate and on-chain split run today.)

      your-app.js
    import { charge } from "@ironbridgefoundation/gitlawb";   // 1. keyless — live on npm: install @ironbridgefoundation/gitlawb
    // 2. point payments at YOUR wallet (env or option) — never defaults to us
    const pay = charge({ price: "0.10", receiver: "0xYourWallet", label: "lookup" });
    
    app.post("/lookup", pay, async (req,res)=>{           // 3. wrap your route
      res.json(await myAgent.run(req.body));     // stranger paid → bounded run → receipt minted
    });

    A stranger hits your route → 402, pay $0.10 USDC on Base → pays → your app serves once → a LAW-25 receipt is minted that the buyer re-verifies themselves. On a real call the split is visible and on-chain: 95.5% to your wallet · a flat 4.5% rails fee — nothing hidden (the split is enforced on-chain at pay time; not yet exercised by an external payment). The bounded signer (proven un-drainable in test; currently disarmed — it does not guard live funds today) + audit chain you couldn't build alone, in two lines.

    GITLAWB rails — live, honest

    The rail is live: two lines, charge(), your wallet, a keepable receipt. No stranger has paid through it yet. A hosted kiosk is not published yet. Proof lives at /receipt — not a toy generator.

    Launch a pre-built package — grab and run

    Pre-built packages. Honest status on each.

    Three pre-built ways. Hosted kiosk not published yet. Rails SDK live on the public registry.

    Keyless MCP server LIVE ON NPM

    The one true one-command launch. Drop the keyless config into Claude Desktop, Cursor, or any MCP client — no token, no operator key. Your agent pays per call through the same x402 gate. Published and installs clean today.

      one command
    npx -y @ironbridgefoundation/ironbridge-mcp-server
    ▌ published on npm · keyless · installs clean

    IronBridge-in-a-Box LIVE ON GITHUB

    The whole gate + audit chain as one Cloudflare Worker you deploy into your account. The public template repo is shipped and the one-click "Deploy to Cloudflare" button clones it into your Cloudflare — no credential ever routes to IronBridge.

    ▌ public repo shipped · worker + verifier real · leak-scan 0

    GITLAWB rails SDK LIVE ON NPM

    Bound your agent's spend below the LLM and hand the caller a re-verifiable USDC receipt — in two lines.

      install
    npm i @ironbridgefoundation/gitlawb
    npx -y @ironbridgefoundation/verify <receiptId>
    npx @ironbridgefoundation/ironbridge-mcp-server

    Two lines in your-app.js — see the full charge() example in App rails above.

    ▌ live on npm · keyless · installs clean

    Truth in labeling: three launchable: MCP server, in-a-Box template, rails SDK. Hosted kiosk not published yet. Rail is live; no stranger has paid.

    Run your own — IronBridge-in-a-Box

    Deploy the whole gate + audit chain into your account.

    IronBridge-in-a-Box is one Cloudflare Worker you deploy into your own accounts — never ours. It puts a gate below your agent's LLM (the model can't talk its way past it), writes every decided action to your own append-only SHA-256 hash-chain, and serves a public /.well-known/trust policy plus a re-walkable verify endpoint so a stranger can re-walk your chain's linkage without trusting you (per-row authorship stays operator-attested via your server-side HMAC seal). Each deploy is single-tenant: your own genesis chain, your own KV, your own keys. No credential ever routes to IronBridge.

    Deploys real, today

    The off-LLM capability gate · the hash-chain append · /.well-known/trust · the per-IP rate limiter (denial-of-wallet guard) · the HMAC authorship seal · the zero-dependency verifier.

    ▌ verified live · re-walks clean · leak-scan 0

    Ships as a documented seam

    Off until you wire it: pay settlement, SAFE auto-execute, the RISKY human-approval webhook, and your own on-chain Base anchor. We draw the real-vs-seam line in the docs — no overclaim.

    ▌ honest by design · you arm each one

    You own the chain

    You keep the only keys, yet every block you append is independently provable — anyone can re-walk your endpoint and confirm nothing was edited after the fact. The accumulated history becomes yours alone.

    ▌ single-tenant · your genesis · your keys
      deploy.sh
    # prefer a shell? the public template repo is live:
    # github.com/IRONBRIDGE-Al/ironbridge-in-a-box
    # 1. the template lands in YOUR github
    # 2. deploy into YOUR cloudflare → provisions your KV + R2 snapshot + 6h cron
    wrangler secret put SEAL_KEY        # your own HMAC key — we never see it
    set PAY_RECEIVER = 0xYourWallet      # the only IB value left is the flat rails-fee Safe
    # 3. seed capabilities.json (deny-by-default) — your policy DB
    # 4. re-walk YOUR OWN chain, zero dependencies:
    node verify.mjs --endpoint https://<your-worker>.workers.dev/api/law25/verify
    # → PASS — chain re-walks clean, you verified it yourself

    Optional bright line: fund a throwaway key with ~$1 of Base ETH to anchor your chain on-chain. Until you do, your chain is tamper-evident, not yet Base-anchored — and you tell your own buyers exactly that.