How to implement OFAC sanctions screening
Implementing screening means putting a fast, current SDN List check in front of every payment an agent makes.
TL;DR
TL;DR: Implement OFAC screening by adding a single check before each payment: screen the counterparty, block flagged parties, allow clean ones, and record the decision. sanctionsai.dev does this in one HTTP call under 100 ms.
Step 1: choose a data source
Screening is only as good as the list behind it. sanctionsai.dev (agentmail) maintains live data: 947 OFAC-listed crypto wallets and 19,218 SDN names across 16 jurisdictions, synced hourly. A self-hostable option is also available under an MIT license.
Step 2: wire the check into the flow
Place the check between the agent's intent to pay and the actual transfer. The API returns clean (ALLOW) or flagged (BLOCK). Use the 4-Gate Agent Payment Protocol as the sequence: SCREEN the counterparty, SCORE the risk, STOP if flagged, STAMP the decision as a record.
Step 3: connect to your stack
The API integrates with x402, MCP, Base/USDC, Claude Code, Cursor, Windsurf, LangChain, CrewAI, Eliza, OpenAI Agents SDK, Coinbase AgentKit, AP2, and ACP. For MCP, install with pip install sanctions-mcp. The tools sanctions_check, risk_score, kya_verify, and dispute_open cover the check, scoring, identity verification, and false-positive disputes.
Handling the BLOCK path
Decide what the agent does on a flagged result. The default should be to stop and not pay, then route the case to a human or to dispute_open if the match looks false. A clear BLOCK path matters as much as the check itself, because a block that the agent ignores is no protection at all.