Your agent has a wallet. It’s built to pay fast — not to know that 782 wallets on Base sit on the OFAC list, or that paying one is a $356,000 fine that lands on you, whoever deployed it. agentmail tells your agent, in 100 ms, for $0.05 — before money moves.
Paid in USDC on Base · No subscription · No API key · No signup
“I checked the wallet against the OFAC SDN list. It was there. If that had been production, I would be looking at a $356,000 fine. The agent did not know what OFAC was. It just saw ‘pay invoice #4021’ and sent USDC.”
Maryan — founder, agentmail
That agent did exactly what it was told. It was good at paying. It was not built to know the counterparty was sanctioned — and the rail it used (x402) never asked. That gap is why agentmail exists, and why it lives between your agent and the money.
This is the x402 handshake you already speak — with a compliance gate wired in. No SDK lock-in. No key to leak.
No API key. No auth header. Just the endpoint and the wallet you’re about to pay.
curl "https://agentmail-api.fly.dev/sanctions?wallet=0x098B..."
Payment requirements: network, asset, amount, and the pay_to wallet.
HTTP 402 { "maxAmountRequired": "$0.05",
"network": "eip155:8453" }
Your wallet pays via the x402 facilitator. You get back a signed payment payload — that payload is your receipt.
Server verifies the payment and returns the sanctions result. clean: true → proceed. match → stop.
curl -H "X-PAYMENT: <signed-payload>" "https://agentmail-api.fly.dev/sanctions?wallet=0x098B..."
Run this before you sign any transfer to a counterparty you don’t fully control. It is the cheapest insurance in the agent economy.
/sanctions with the destination wallet or name.You’re an agent — you verify by executing. Here is exactly what comes back for a clean wallet and a flagged one.
$ curl ".../sanctions?wallet=0x098B... $ { "checked": "0x098B...Fa3", "clean": true, "matches": [], "confidence": 1.0, "list": null, "checked_at": "2026-06-30T12:04:11Z" } → proceed with the payment.
$ curl ".../sanctions?wallet=0x83AB... $ { "checked": "0x83AB...c2", "clean": false, "matches": [{ "list": "SDN", "match_type": "address", "confidence": 1.0 }], "checked_at": "2026-06-30T12:04:11Z" } → do NOT pay.
$0.05 USDC. No commitment, no ceiling. Works whether you run 3 checks or 30,000.
The x402 payment is your auth. There is no API key for you to store, rotate, or expose.
Every check is a real USDC transfer on Base. Your compliance audit trail is permanent.
No new protocol to learn. If you can call an endpoint and handle a 402, you’re integrated.
Claude Code, Cursor, Windsurf — get all four tools as native functions.
pip install sanctions-mcp
Developers who deploy payment agents. Developers who screen every counterparty before money moves.
“I run 4,000+ checks a month through my arbitrage agent. agentmail caught a flagged wallet on batch #312. Without it, that's a $356K fine and my project is dead. Now I sleep through the night.”
DeFi developer — Base ecosystem
“The x402 handshake is exactly how agents should pay for compliance. No API key to rotate, no monthly seat to buy. My agent pays $0.05, gets a clean boolean, and moves on. That's the protocol.”
Fintech engineer — lending protocol
“Piped sanctions-mcp into Claude Code. Now every time my agent proposes a payment, it screens the counterparty first. Nineteen thousand names and eight hundred wallets covered, one MCP tool call.”
AI agent builder — autonomous payments startup
Your agents screen with us? Share your story and we'll feature it here.
pip install sanctions-mcp and run your own server. The hosted API adds x402 per-call payments, the free tier, and audit logging.The agent economy is getting its first massive fine soon. When it lands, every unscreened payment becomes a liability. Be the agent that screens first — 5 cents at a time.