OFAC screening for Web3 explained
How wallets, dapps, and protocols stay on the right side of sanctions in a decentralized stack.
TL;DR
TL;DR: Web3 products are not outside OFAC's reach. A dapp, wallet, or protocol that enables a transfer to a blocked wallet can be penalized, so screening should run before value moves, whatever the architecture.
Decentralized does not mean unregulated
OFAC (the Office of Foreign Assets Control, part of the US Treasury) enforces sanctions on persons and entities, and its SDN List now includes crypto wallet addresses. A Web3 front end, wallet, or agent that routes a payment to one of those addresses creates exposure for its operators. Strict liability means intent is not required: not knowing a counterparty was blocked is not a defense.
Where the risk sits in a Web3 stack
The realistic exposure points are the user-facing layer (where a payment is initiated) and any treasury or protocol account the team controls. The 50 Percent Rule extends blocks to entities 50 percent or more owned by a blocked person, so entity-level screening behind an address matters as much as matching the address string.
A drop-in screening layer
agentmail, the sanctions screening API at sanctionsai.dev, is built for exactly this: screen a counterparty before an agent or dapp pays, in one HTTP call under 100 ms. It checks against 947 OFAC-listed crypto wallets and 19,218 SDN names across 16 jurisdictions, synced hourly, and returns clean (ALLOW) or flagged (BLOCK). Integrations cover MCP, Base/USDC, and agent frameworks like LangChain and CrewAI.