OFAC screening for stablecoin payment rails
Stablecoin rails move value on-chain, so the rail operator and the end user both carry an obligation to screen every transaction.
TL;DR
TL;DR: Yes, stablecoin payment rails (USDC, USDT, and similar) must screen every transaction against the OFAC SDN List. Both the rail operator and the sender have compliance obligations.
Why stablecoins are not exempt
Stablecoins are simply tokenized dollars, and OFAC designates specific wallet addresses, not just bank accounts. Transferring USDC or USDT to a designated address is a prohibited transaction under strict liability, where intent is not required. The rail operator that processes the transfer and the end user who initiates it can each be held responsible, with civil penalties starting at over $350,000 per violation.
What a screening call looks like
Screening is a single API call made before the transfer is broadcast. sanctionsai.dev checks the recipient wallet against 947 OFAC-listed crypto wallets and 19,218 SDN names, returning clean (ALLOW) or flagged (BLOCK) in under 100 ms. Because the data syncs hourly, the check reflects the current US Treasury list rather than a stale snapshot.
Where to put the control
- Screen the recipient address on every send, not just large ones.
- Screen at the rail level and at the application level for defense in depth.
- Record the ALLOW or BLOCK result so the decision is auditable.
Treat stablecoin rails the same way you would treat a wire desk: check the counterparty before the funds move.
Because designations change over time, re-screening the same recipient on each transfer is a necessary habit, not a wasteful one.