One set of rules. Every agent payment.
A22A sits between your agents and their payment methods, checking each payment against your rules before it goes through. What fails the check is blocked.
Agents get more done when they can pay. So let them, on your terms.
A22A gives you one policy and one running total for everything they spend.
Works with what your agents use
Cards, wallets, AP2, x402, MCP tools. Plug in whatever they already pay with. Nothing to migrate.
No custody, no lock-in
A22A never holds or moves your funds. It checks each payment and the wallet or rail carries it out.
Per agent, per fleet
Cap one agent, or set a shared budget across the whole fleet. The total holds even when no single agent goes over.
lines to integrate.
policy, however they pay.
payments checked first, all of them.
funds held. Payments run on your existing rails.
Every payment is checked before it clears. Approved, declined, or flagged.
You write the policy once, and A22A enforces it on all agent spending from then on. Nothing needs a human unless you want it to.
Set the rules
Spending caps, merchant allowlists, rate limits, time windows. As strict or as loose as the job needs.
Stop it instantly
Revoke an agent and its next payment is blocked, effective immediately.
Keep the record
Each payment and the decision behind it, in one place. Exportable for finance and compliance.
One loop, end to end. Zero humans inside it.
You set the policy
Once, at the start. The only step a human does.
The agent pays
With whatever it normally uses. The payment stops for a check on its way through.
A22A makes the call
It clears, it gets blocked, or it waits for your sign-off.
import { govern } from "@a22a/sdk"; // wrap the agent's payments, any wallet, any railconst agent = govern(myAgent, { apiKey: process.env.A22A_KEY, policy: "research-fleet",});
Every decision, on the record. One trail, across every rail.
/ 05 · early access