Sanctions screening
Wallet screening API for crypto compliance
Submit an onchain address — or an ENS name — and get back a structured verdict against OFAC and every other enabled sanctions, crime and risk list, with the designated entity and official source record on every match.
GET /api/v1/screen/crypto/{address}
curl https://api.compliapi.com/api/v1/screen/crypto/0x098B716B8Aaf21512996dC57EB0615e2383E2f96 \
-H "Authorization: Bearer $COMPLIAPI_TOKEN"import requests
resp = requests.get(
"https://api.compliapi.com/api/v1/screen/crypto/"
"0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
headers={"Authorization": f"Bearer {COMPLIAPI_TOKEN}"},
)
print(resp.json())const resp = await fetch(
"https://api.compliapi.com/api/v1/screen/crypto/0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
{ headers: { Authorization: `Bearer ${process.env.COMPLIAPI_TOKEN}` } },
);
console.log(await resp.json());Response
{
"value": "0x098b716b8aaf21512996dc57eb0615e2383e2f96",
"flagged": true,
"sanctioned": true,
"lists_checked": ["ofac", "us_fbi_lazarus_crypto", "il_mod_crypto", "fr_tresor", "jp_mof_sanctions", "uk_fcdo_sanctions"],
"matches": [
{
"list": "ofac",
"list_name": "US OFAC SDN",
"list_type": "sanctions",
"match": "exact",
"value": "0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
"source_url": "https://sanctionssearch.ofac.treas.gov/Details.aspx?id=27307",
"metadata": {
"symbol": "ETH",
"name": "Ethereum",
"sdn_name": "LAZARUS GROUP",
"sdn_type": "Entity",
"programs": "DPRK3"
}
}
]
}Addresses across chains
Screens the crypto addresses published in OFAC SDN records — ETH, BTC, XMR, USDT and more.
ENS resolution built in
Pass an ENS name like vitalik.eth and CompliAPI resolves it on Ethereum mainnet before screening, so a readable name can't hide a listed address.
15-minute refresh
SDN data is ingested automatically every 15 minutes, and delistings are tracked.
Beyond the SDN list
The multi-list /screen/crypto endpoint also checks FBI-published Lazarus Group addresses, the French Trésor asset-freeze register, Japan MOF and EU consolidated sanctions, and known ransomware payment addresses (Ransomwhere, labeled crime intelligence) — every match names the list it came from.
Source record included
Every match links to the official OFAC entry for reviewer context.
Request logging
Every screening call is recorded for your organization — useful when you need to show what was checked before a transaction.
Automated crypto address screening, not batch jobs
The standard way to do crypto wallet address screening is still to download OFAC's data files on a daily cron, parse them, and diff against yesterday. That leaves a window — up to a day — where a newly designated address passes your checks. CompliAPI closes it: OFAC's change feed is polled every 15 minutes and new publications are ingested immediately, the other lists reconcile on daily or weekly schedules matched to how often they actually change, and delistings are applied on the same cycles.
Because the pipeline is on our side of the API, screening is automated end to end from your first request: no files to fetch, no parser to maintain, no staleness to explain to an auditor. Each check is a real-time lookup against the current data, and re-screening your stored addresses is the same GET request on whatever schedule your policy requires.
What's in the data
Blockchain wallet screening checks every enabled list in one call, and every match names its list and type — sanctions, crime intelligence, or risk exposure — so a Lazarus Group designation and a ransomware payment address never look the same in your logs. Listed onchain addresses at the time of writing, by source:
| Source | List type | Onchain addresses |
|---|---|---|
| US OFAC SDN | Sanctions | ≈950 |
| Israel NBCTF seizure orders | Sanctions | ≈690 |
| FBI Lazarus Group addresses | Sanctions | 33 |
| UK FCDO, Japan MOF, French Trésor | Sanctions | ≈50 |
| Ransomwhere ransomware payments | Crime intelligence | ≈11,200 |
| Tornado Cash depositors & relayers | Risk exposure | ≈68,500 |
| Total | 81,000+ |
Integration options for crypto compliance requirements
REST is the primary integration: one authenticated GET per address, structured JSON back, so screening drops into an onboarding flow, a withdrawal path, or a payment pipeline as a single call. There are no SDKs to adopt — if your stack can make an HTTPS request, it can screen.
The same screening is exposed as an MCP server, so AI agents and assistants can run wallet checks as native tool calls with the same token, quota and request log. There is no webhook or push interface: screening is a synchronous check by design, and continuous monitoring of addresses is a different product category.
Choosing a wallet screening API
Crypto wallet screening tools blur very different products behind similar vendor pages. Whatever you pick — including us — these are the questions that separate them:
| Criterion | What to ask | CompliAPI's answer |
|---|---|---|
| Data freshness | How long after OFAC publishes does a new address fail your checks? | OFAC change feed polled every 15 minutes; other lists daily or weekly. |
| List coverage | Which lists, exactly — and does a match say which list produced it? | OFAC SDN plus UK, EU, France, Japan, NBCTF, FBI, and labeled crime/risk lists; every match names its list and links the official record. |
| Chain coverage | Fixed chain list, or does coverage follow what the lists publish? | Follows the lists: any address format they publish (BTC, ETH, XMR, USDT and more), plus ENS resolution. |
| Direct vs indirect exposure | List screening or graph analytics? They answer different questions. | Direct list screening only — no clustering or hop analysis; pair with an analytics platform if your risk profile needs it. |
| Access and pricing | Self-serve with public pricing, or sales-gated? | A free crypto wallet screening tier and published plans; a token takes minutes, no sales call. |
For financial institutions
Crypto wallet screening software for financial institutions has to survive an examiner, not just a code review. Every CompliAPI screening call is logged for your organization — what was screened, when, and with what result — so "show me the check you ran before releasing that payment" has a concrete answer. Matches carry the official source record for reviewer context, delistings are tracked rather than silently dropped, and quotas and tokens are managed at the organization level so screening activity is attributable.
The scope boundary matters for your compliance file too: this is direct screening against officially listed identifiers, documented as exactly that — not a probabilistic risk score you would have to defend.
A direct SDN address check, without the pipeline
Checking wallet addresses against OFAC data yourself means parsing SDN records for digital-currency identifiers across many chains, normalizing address formats, resolving ENS names to the underlying address, and re-ingesting the list every time it changes.
CompliAPI maintains that pipeline for you. Your application submits an address — or an ENS name — and gets back a structured JSON answer about whether it appears in the current SDN data, in a single request you can put in front of deposits, withdrawals, or wallet connections.
This is a check against officially listed identifiers plus clearly-labeled direct-interaction lists (the Tornado Cash association lists carry list_type "risk" and record addresses that themselves deposited into or relayed for the mixer, with the evidencing transaction attached). It is not graph analytics: CompliAPI does not cluster addresses, trace multi-hop flows, or score indirect exposure, and it is not a substitute for tools like Chainalysis or TRM where your risk profile requires them.
How it works
Send an address or ENS name
A hex address on any chain represented in SDN records, or an ENS name resolved via Ethereum mainnet.
CompliAPI checks the current SDN data
The address is normalized and checked for direct appearance in OFAC SDN records, refreshed every 15 minutes.
Receive a structured result
JSON with the address, a match type of "exact" or "partial", a sanctioned flag, and the official OFAC source record for matches.
What you can screen
- Hex wallet addresses on chains represented in OFAC SDN records (ETH, BTC, XMR, USDT and more)
- ENS names (resolved on Ethereum mainnet before screening)
Where teams use it
Withdrawal address checks
Screen destination addresses before processing a withdrawal or payout.
Deposit screening
Check the source address of incoming deposits and route matches to review.
Wallet-connect gating
Screen a wallet when it connects to your DeFi frontend, before it can interact with your contracts.
Marketplace payouts
Verify seller wallet addresses before releasing funds from escrow.
AI-agent checks
The same screening is available as an MCP tool, so agents can screen an address before executing a transaction.
Scope and limitations
Wallet screening answers one precise question: does this address appear directly in the supported OFAC data? It deliberately does not attempt broader blockchain intelligence:
Direct listing, not indirect exposure
An address that has transacted with a sanctioned address, but is not itself listed, will not match. Exposure analysis requires blockchain-analytics tooling.
No transaction tracing or attribution
CompliAPI does not analyze transaction history, cluster related addresses, or attribute addresses to entities beyond what OFAC publishes.
No risk scores
Responses are factual match results, not probabilistic risk ratings.
Point-in-time checks
Each request screens against the list as of that moment. CompliAPI does not watch addresses continuously — re-screen on the schedule your policy requires.
Frequently asked questions
Does wallet screening analyze transaction history?
Not in the blockchain-analytics sense. Screening checks whether an address appears on the enabled lists — official sanctions data plus the labeled Tornado Cash direct-interaction lists, which record addresses that deposited into or relayed for the mixer. There is no clustering, multi-hop tracing, or indirect-exposure scoring; every risk-list match carries the on-chain transaction that put the address on the list.
Is this a replacement for Chainalysis or TRM?
No — it answers a narrower question. Blockchain-analytics platforms model indirect exposure, attribution and fund flows. CompliAPI gives you a fast, direct check against officially listed identifiers, which may be sufficient on its own or complement an analytics platform, depending on your obligations.
Which blockchains are covered?
Any address type that OFAC publishes in SDN records, including ETH, BTC, XMR and USDT addresses. Coverage follows the official list rather than a fixed set of chains.
Can I screen ENS names?
Yes. Pass an ENS name (for example vitalik.eth) and CompliAPI resolves it via Ethereum mainnet, then screens the resolved address.
Which sanctions lists does wallet screening check?
Every enabled list in one call: the US OFAC SDN list, Israel NBCTF seizure orders, FBI-published Lazarus Group addresses, the UK Sanctions List, the EU consolidated list, the French Trésor register and Japan MOF sanctions — plus clearly labeled crime and risk lists (Ransomwhere, Tornado Cash association), which set flagged but never sanctioned. A ?lists= filter narrows the scope.
What does a match look like?
A match returns the address, the list that produced it with its list_type, a match type of "exact" or "partial", metadata including the designated entity where the list publishes it, and a source_url linking to the official record. Clear addresses return sanctioned: false and flagged: false.
Does the API support batch screening?
There is no dedicated batch endpoint — each address is one GET request. Checks return in real time, so bulk sweeps and scheduled re-screening are typically a loop over stored addresses; requests are metered against your organization's monthly quota, and paid plans size that quota for production volumes.
Related
Sanctions screening
OFAC API — screen against the official SDN list
Screen crypto wallets, emails, IDs and countries against the official US Treasury OFAC SDN list, refreshed every 15 minutes.
AI infrastructure
OFAC MCP server for AI agents
Give AI agents sanctions screening tools over the Model Context Protocol.
Use case
OFAC compliance API for DeFi
Add sanctions screening, geofencing and VPN detection to a DeFi frontend: screen connecting wallets against the OFAC SDN list and apply jurisdiction rules with simple GET requests.
Use case
Sanctions screening for crypto exchanges
OFAC wallet screening for exchanges: check deposit and withdrawal addresses against the SDN list, screen users at onboarding, and apply jurisdiction rules per session.
Add wallet screening to your application
Get a free API key and screen your first address in minutes.
14-day free trial. No credit card required.
CompliAPI provides data and tools that support compliance workflows. It does not provide legal advice, and organizations should determine their obligations with qualified counsel.