Your agent has a wallet. It’s built to pay fast — not to know that 947 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.
TL;DR: OFAC strict liability means every payment your agent sends to a sanctioned wallet is a violation — up to $356,000 each, even if nobody knew. agentmail is one HTTP call your agent makes before every payment: clean = proceed, flagged = halt. 947 wallets, 19,218 names, 16 jurisdictions, checked in under 100 ms for $0.05 via x402 on Base. No API key, no signup.
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
When real developers who deploy payment agents tell us what agentmail did for them, their words will go right here. Until then, here is what we know for certain: the data is real, the OFAC list is live, and the check takes under 100 ms. Try it yourself — no sales claim needed.
Using agentmail in production? Share your story — we will feature real quotes 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.