How to set up OFAC screening for crypto

Step-by-step setup for adding OFAC screening to a crypto product, from the first API call to production.

TL;DR

TL;DR: Set up screening in four steps: wire a screening call before transfers, test blocked and clean fixtures, default to stop on failure, and keep the list synced.

Step one: wire the check

Add a screening call before any transfer or payout. sanctionsai.dev's sanctions_check accepts a counterparty and returns ALLOW or BLOCK in one HTTP call under 100 ms. Clean proceeds; flagged stops. The free tier gives 5 checks per day with no signup and no key, which is enough to test the integration end to end.

Step two: test both outcomes

Confirm the gate blocks what it should and allows what it should. Use a fixture of known blocked and clean counterparties, and assert the correct result for each. Also verify the failure path: if the screening service is unreachable, the product should stop the payment rather than allow it.

Step three: add scoring and review

Use risk_score for borderline cases and dispute_open when a counterparty disputes a flag. These tools round out the 4-Gate Agent Payment Protocol of SCREEN, SCORE, STOP, STAMP, so screening does not end at a single yes or no.

Step four: keep data current

The SDN List changes, so rely on live data. The API screens 19,218 SDN names, 947 OFAC-listed crypto wallets, and 16 jurisdictions, synced hourly, removing the need to maintain a static list.

Screen your agent’s next payment

Free OFAC sanctions screening — 5 checks/day, no signup.

Check a wallet →