Section 5 · Lesson 5.2
Sanctions lists, labels and on-chain checks
An explorer shows you flows, but it will not tell you that a specific address is under OFAC sanctions or that the stablecoin sitting on it has been frozen by the issuer. Those facts are obtained from open sources — sanctions lists, public label databases and reading the contract directly. In this lesson we assemble the free foundation of a check: where to get the official lists, how to use public address labels, and how to verify a USDT/USDC freeze directly on-chain, without relying on anyone's assessment.
Sanctions lists: where to get the primary source
A sanction is not "a service's opinion" but a legal fact from an official registry. You must check the primary sources, not retellings.
- OFAC SDN List (USA)Specially Designated Nationals — the world's leading list. Since 2018 OFAC has also published crypto addresses right inside the entries (the Digital Currency Address field). The official source is the site of the U.S. Treasury's Office of Foreign Assets Control; the data can be pulled machine-readably (SDN.XML / the consolidated list).
- EU Consolidated List (European Union)The EU's consolidated sanctions list. Published officially, available for download, and including more and more crypto identifiers.
- UK OFSI / HMT (United Kingdom)The list of the UK's Office of Financial Sanctions Implementation. A separate jurisdiction — important for clients dealing with the UK.
- Local lists (Rosfinmonitoring and others)National lists in the jurisdiction where you operate. Their composition and availability depend on the country.
Key practice. Lists are updated regularly, and yesterday's export may already be out of date. The professional process is to periodically pull the latest machine-readable versions (XML/CSV), not to check an address against a one-off screenshot. A direct match of an address to any of these lists is a hard flag from lesson 4.2: maximum score, no further analysis needed.
Public address labels
A label (or tag) is an attribution of "who this address belongs to." Beyond paid databases there is a substantial free layer, which is enough for a basic check.
- Explorer labels. Etherscan and its equivalents tag exchanges (Binance, Coinbase), contracts, and also dangerous addresses:
Fake_Phishing, Heist, Exploit, Blocked.Free, right on the address page.
- Open label datasets. Public lists of mixer, scam-project, hack and sanctions addresses (including repositories and communities that maintain such databases).AMLConsensus uses its own layer of tens of thousands of labels on top of the open data.
- Incident registries. Public databases of known hacks and exploits with the list of the attackers' addresses.Useful for checking whether "the money came from a known hack."
- Community reports. Chainabuse and similar platforms where scam victims publish addresses.A weaker signal than an official one, but useful as an early flag.
Be careful trusting labels. A label is a claim, not an absolute truth. There are mistaken attributions and stale data (an exchange address the exchange has stopped using). A label from an official sanctions registry is close to absolute; a label from a community report is grounds to check, not a final verdict. Always record where a label comes from so you can weigh its reliability.
On-chain checking of USDT/USDC freezes
The most underrated free technique. The issuers of centralised stablecoins (Tether — USDT, Circle — USDC) can freeze addresses right in the smart contract at the request of regulators and law enforcement. A frozen address cannot move its tokens. This is an objective fact that reads straight out of the contract — without a single paid service.
- Open the stablecoin contract in an explorer. For example, the USDT (ERC-20) contract on Etherscan, the
Contract → Read Contract tab.For USDC and on other networks it is similar; the method may be named differently.
- Find the block-check function. For USDT it is
isBlackListed(address); for USDC — isBlacklisted(address) / the blacklist-role status.Enter the address in question and read the answer.
- Read the result. A return of
true = the address has been frozen by the issuer. This is a confirmed hard fact: you cannot work with this address.It is stronger than any probabilistic score — the issuer itself has confirmed the problem.
- Check the issuer's freeze history. The
AddedBlackList / DestroyedBlackFunds events in the contract logs show who was frozen and when.Helps you understand the issuer's activity in your category.
Why this matters. A stablecoin freeze is not a "risk 90" assessment but an accomplished fact: the official issuer, at the authorities' request, blocked the funds. No paid score gives a firmer signal, and the check is entirely free and available to everyone via Read Contract. This should be part of the mandatory checklist for any address holding a large USDT/USDC balance.
The free foundation of a check: assembling the checklist
Combining lesson 5.1 (explorers) with the material of this lesson gives us a full basic check without a single paid tool.
Explorer
age, flows, counterparties
→
Sanctions lists
OFAC / EU / UK
→
Public labels
tags, incidents, reports
→
On-chain freeze
isBlackListed
- Is the address itself on the sanctions lists?A direct match → stop.
- Are the direct counterparties (1 hop) under risk labels?An exchange/mixer/sanction among the sources or recipients.
- Is there a stablecoin freeze on the address or on close counterparties?Read Contract → isBlackListed.
- Explorer labels (Fake_Phishing, Heist)?A strong local signal.
Where the free level ends
This foundation covers most simple cases: direct sanctions, obvious labels, freezes, plain patterns. But it has a limit.
- Deep multi-hopWalking 4–6 hops through hundreds of addresses by hand is all but impossible — this needs an automatic taint engine.
- Clustering and de-anonymisationDetermining that 200 addresses share one owner cannot be done by hand.
- Fresh, non-public attributionNew mixers and hacks reach commercial databases earlier than open ones.
Another limit of the free layer is the versioning and jurisdiction of the lists. The same address may be under OFAC sanctions but absent from the EU list, and vice versa; moreover, sanctions entries are sometimes lifted (delisting), and an address that was "dirty" a year ago is formally clean now. So record not only the fact of a match, but also which list, which revision, and as of what date you checked — this is both legally correct and protects you during a later audit of your own decision.
Lesson takeaway. The free layer — explorer + official sanctions lists + public labels + an on-chain freeze check — is the mandatory minimum, which often gives a final answer and always gives an honest first picture. But deep multi-hop analysis, clustering and fresh attribution require commercial platforms. What exactly they can do, how much they cost, when they are genuinely needed and how to build a working process without a big budget is the subject of the closing lesson 5.3.
This material is for educational purposes.