Stablecoin Freeze Tracker — USDT & USDC Blacklist
Pricing
Pay per usage
Stablecoin Freeze Tracker — USDT & USDC Blacklist
Every address ever frozen by Tether or Circle across Ethereum, Tron, Polygon and Arbitrum — with freeze dates, current status and destroyed amounts. ~13,000 addresses, rebuilt from contract events.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Rinat Galimov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Every address ever frozen by Tether or Circle on Ethereum, with freeze dates, current status, and how much was destroyed.
USDT and USDC are centralised tokens. The issuer can blacklist an address, after which its balance can never move again — and Tether can go further and destroy the balance outright. These actions happen on-chain, so the record is public. It is just not published anywhere you can actually use.
This Actor reconstructs the full list from contract events and hands it to you as a clean dataset.
What you get
Chains covered
| Chain | Token | Why |
|---|---|---|
| Ethereum | USDT + USDC | both issuers blacklist heavily here |
| Tron | USDT | the largest USDT deployment in the world |
| Polygon | USDC | Circle only |
| Arbitrum | USDC | Circle only |
Coverage is decided by where blacklists actually exist and get used, not by where the tokens are listed. Bitcoin, Litecoin, Dogecoin and XRP have no programmable issuer blacklist at all. And a finding worth knowing: USDT on Polygon and Arbitrum has never been blacklisted once — Tether enforces on Ethereum and Tron, and leaves its other EVM deployments alone.
What you get
| Field | Meaning |
|---|---|
address | The blacklisted address |
chain | Ethereum, Tron, Polygon or Arbitrum One |
issuer | USDT (Tether) or USDC (Circle) |
status | frozen — still blacklisted · unfrozen — later released |
frozen_at | UTC timestamp of the blacklist transaction |
frozen_block | Ethereum block number |
unfrozen_at | When it was released, if it ever was |
funds_destroyed | Whether Tether burned the balance |
destroyed_amount | How much was destroyed, in tokens |
tx_hash | The on-chain transaction, so you can verify every row |
explorer_url | Direct link to that transaction in the chain's explorer |
Current scale: ~13,000 addresses across four chains — Tron 8,100, Ethereum
3,900, Arbitrum 520, Polygon 520 — of which ~11,300 are still frozen. Tether
has destroyed over $1.35 billion outright across ~2,300 of them. Addresses
that were blacklisted and later released are kept too, marked unfrozen.
Use it three ways
1. Export the whole blacklist. Leave the input empty and get every frozen address. Good for seeding your own screening database.
2. Check your own addresses. Put addresses into checkAddresses and each
one comes back with its status — including not_blacklisted when it is clean.
Useful before accepting a payment or onboarding a counterparty.
3. Watch for new freezes. Set sinceDate and schedule the Actor daily. You
get only what was frozen after that date — an early warning that a counterparty,
a pool, or a bridge has been touched.
Input
{"chains": ["ethereum", "tron", "polygon", "arbitrum"],"issuers": ["USDT", "USDC"],"statusFilter": "frozen","checkAddresses": [],"sinceDate": "","maxItems": 0}
All fields are optional. statusFilter accepts frozen, unfrozen or all.
Why this data is worth having
A frozen address is a dead end: funds sitting on it are unrecoverable. If a counterparty pays you from an address that later gets blacklisted, or you route through a service that does, the exposure is yours. Exchanges and payment processors screen against these lists — most people trading against them cannot.
Freezes also cluster. A newly frozen address often shares counterparties with addresses frozen days earlier, which makes the time-ordered list more useful than a plain snapshot.
How it works
Read straight from contract events, with no third-party risk database in between:
| Issuer | Event | Meaning |
|---|---|---|
| USDT | AddedBlackList(address) | blacklisted |
| USDT | RemovedBlackList(address) | released |
| USDT | DestroyedBlackFunds(address,uint256) | balance destroyed |
| USDC | Blacklisted(address) | blacklisted |
| USDC | UnBlacklisted(address) | released |
Every row carries its tx_hash and an explorer link, so nothing here has to be
taken on trust.
One filter worth naming: issuers also blacklist their own token contract to destroy tokens users mistakenly sent to it. Those are real events but not frozen wallets, so they are excluded — otherwise the destroyed totals would be inflated by tens of millions.
Notes and limits
- Four chains, not all of them. BSC, Base, Optimism and Avalanche do run blacklists, but their historical logs are not available on a free indexer tier — they are planned, not silently dropped.
- A blacklist is not a verdict. Issuers freeze on law-enforcement requests, court orders, and their own investigations. Treat a hit as a strong signal to investigate, not as proof of wrongdoing.
- An address can be frozen, released, and frozen again. The dataset keeps the first freeze and reflects the latest status.
- Needs an Etherscan API key for the EVM chains. A free one from etherscan.io/apis is enough; supply it in the input if you run this often and want your own rate limit.
- Tron reads from TronGrid, which allows about one request per second without a key — so Tron takes a few minutes. A free key from trongrid.io removes that.
Who builds this
Made by AMLConsensus — wallet screening that checks an address against several independent sources at once (OFAC SDN, issuer freeze lists, sanctions oracles, open blacklists) and shows which source flagged what, instead of returning one vendor's number.
Questions, bulk volume, or a dataset you need that isn't here: support@amlconsensus.com