Audit everything, block nothing.
With SHADOW_MODE=true every request is checked and sealed but never denied. Compare IRL's verdicts with your live behaviour first.
MCP gateway|For AI agents that trade
Plug IRL into Claude, ChatGPT or your own agent. Every order is checked against the agent's mandate before it reaches the exchange, its reasoning is sealed, the fill is bound to it, and the record is anchored on Bitcoin. Free to use.
The trade on the right is real, made by our reference agent in paper trading. Your browser can recompute every layer of it.
The ownership gap
Brokers now let AI agents trade on your behalf, and say plainly that they don't supervise or audit them. Logs show what an agent did. They can't prove why, what it knew, or that nobody edited them afterwards.
Before anything else / Mandate
Every order is checked against the agent's mandate before it can reach the exchange. Out of mandate means no order, no matter how good the agent's reasons sound. Try to get an order past this real agent's mandate.
Try to break it
This is the real record, and it's editable. Your browser recomputes every layer as you type and compares it with what was recorded. Swap the order id and only the binding breaks. Touch the agent's words and everything built on them does.
—Recorded—Recorded—Recorded—Recorded—RecordedSHA-256(reasoning hash ‖ order id)
Trust model
IRL is a commitment scheme with independent timestamping. It doesn't make dishonesty impossible; it makes it expensive, contemporaneous and permanent. Here is the exact guarantee, the way an auditor will ask for it.
That the agent told the truth.
The agent reports its own reasoning. A dishonest operator could seal a made-up one. Lying still doesn't pay:
On the roadmap: capturing the snapshot inside hardware-attested enclaves.
You don't have to trust us. Export a proof bundle and hand it to an auditor, a regulator or an investor. They check it offline, against Bitcoin, with no account and no access to our servers.
Zero-risk first step
You don't have to. Start where nothing can go wrong, then turn enforcement on.
With SHADOW_MODE=true every request is checked and sealed but never denied. Compare IRL's verdicts with your live behaviour first.
One container plus PostgreSQL in your own infrastructure. The Bitcoin anchor publishes only a 32-byte root.
The gateway paper-trades at live prices by default, so an agent can build a record before it touches real money.
Built for what's coming
Supervisors are already asking how firms oversee autonomous agents. IRL produces the specific evidence each framework talks about.
IRL produces evidence; it doesn't make you compliant on its own. Your obligations depend on who you are and where you operate.
Developers
irl-gateway is an MCP server. Your agent calls execute_trade with its reasoning; the gateway checks the mandate, seals the reasoning, places the order and binds the fill. Paper trading by default, at live Binance prices.
pip install irl-gatewayuvx irl-gateway
The six tools your agent sees
execute_trademoves moneyThe only tool that places an order: mandate check, seal, order, bind. Returns MATCHED or DIVERGENT.
get_policyreadThe mandate as IRL enforces it: status, notional cap, allowed assets and venues, kill switch.
get_quotereadLast traded price for a pair on the gateway's venue.
get_balancesreadFree balances on the account, paper or exchange.
get_tracereadIRL's sealed record of one trade: intent, verdict and proofs.
list_recent_tradesreadRecent trades from the local journal, each rationale next to its trace.
Pricing
We'd rather have agents using it and telling us what breaks than a sales funnel.
The MCP server your agent talks to.
execute_trade to get_traceThe engine that authorizes, seals, binds and anchors.
Accountability infrastructure
Build agents that can prove what they intended, why they decided it, and where they executed.
Start on GitHub →