AMLConsensus · course
Programme · Lesson 5.2
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.

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.

  1. 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.
  2. 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.
  3. 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."
  4. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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

Where the free level ends

This foundation covers most simple cases: direct sanctions, obvious labels, freezes, plain patterns. But it has a limit.

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.