Wallet Blacklisted: Freeze vs destroyBlackFunds
addBlackList blocks transfers while balances can still show. destroyBlackFunds zeros USDT after blacklist. Desk IR language and evidence packs for each state.

When a wallet is “blacklisted” for USDT, two different on-chain outcomes get collapsed into one English word. Freeze (addBlackList) blocks transfers while the balance can still show. Destroy (destroyBlackFunds) zeros the USDT on that address after it is already blacklisted. Desks that treat those as synonyms mis-brief counsel, clients, and finance.
This post is the operational split: what each function does, how to tell which state you are in, and what tickets look like afterward. Educational only—not legal advice, not a bypass guide.

Check a wallet before you act
Run a FreezeRadar scan for issuer-freeze signals, sanctions exposure, counterparty risk, and freezeable asset sensitivity before moving funds.
The three privileged verbs that matter
On official Ethereum USDT, the verified contract exposes the classic Tether surface:
addBlackList(address)— sets the blacklist flag; emitsAddedBlackListremoveBlackList(address)— clears the flag; emitsRemovedBlackListdestroyBlackFunds(address)— requires blacklist true; zeros that address’s USDT balance and reduces_totalSupply
Transfer checks reject blacklisted senders (and, on the classic path, blacklisted from in transferFrom). A wallet UI that still paints a number is not proof of spendability. Read isBlackListed / getBlackListStatus yourself via read the contract directly, or use the thin Tether blacklist check landing when you need the product path.
Tron TRC-20 USDT implements the same idea on a different contract and explorer. Always name chain + contract before you say “blacklisted.” Per-chain lists do not sync automatically—see TRC-20 vs ERC-20 freeze mechanics.
Freeze without destroy: the common desk state
Most tickets that say “our USDT is frozen” are freeze-only:
- Outbound USDT transfers revert
- Inbound transfers to the flagged address may still succeed on many deployments
- Native gas assets (ETH, TRX) and unrelated tokens are usually untouched
- Explorers still show a USDT balance until a destroy (or a later successful transfer after unfreeze)
Operational consequences:
- Stop treating the balance as working capital.
- Stop sending more USDT into the address.
- Open the correct control-plane ticket (issuer vs exchange)—hold vs blacklist.
- Preserve the
AddedBlackListhash for the case file.
Freeze alone does not mean law enforcement already took custody. Later stages—warrants, burn/reissue into government wallets—appear in some forfeiture narratives (for example FreezeRadar’s note on the SDNY $61.2M USDT path). Those are separate process states. Do not invent them from a single blacklist event.
Destroy: irreversible on that address
destroyBlackFunds is not an automatic sequel to every freeze. When it lands:
- The USDT balance at the address goes to zero on that contract
- Supply accounting on the contract decreases accordingly
- “Unfreeze the coins on that address” becomes a category error—the coins are gone from there
Recovery language, if any, shifts to issuer/LE make-whole paths (burn/reissue into another wallet, settlement off that address, counsel-led process). Retail “recovery services” that promise to restore the same on-chain balance after destroy are lying about the mechanism.
Desk SOP after a suspected destroy:
- Pull the destroy transaction and confirm it is the official USDT contract.
- Screenshot pre/post balances from a trusted explorer at known block heights.
- Update finance: write down the asset for that address; do not leave it as “frozen inventory.”
- If clients were owed that balance, escalate to counsel—ops cannot invent a technical restore.

Triage table for IR notes
| Observation | Likely state | Client language to avoid | Next step |
|---|---|---|---|
isBlackListed true, balance > 0, send fails | Freeze | “Coins deleted” | Issuer/venue triage; evidence pack |
isBlackListed true, balance 0 after destroy tx | Destroy | “Temporary hold” | Document destroy; counsel/issuer path |
isBlackListed false, CEX withdrawal locked | Venue hold | “Tether blacklisted us” | Exchange ticket |
isBlackListed false, send works, score high | Risk without freeze | “Already frozen” | Screen counterparties; pause policy |
Why competitors under-serve this split
Many FAQ pages stop at “Tether can freeze USDT.” The destroy function is the second half of the control plane that changes accounting, insurance discussions, and client scripts. Wallet teams that only train on freeze generate false hope after destroy and false panic when a venue hold is mislabeled as destroy.
Circle/USDC has its own freeze and wipe vocabulary; do not paste Tether function names into a USDC ticket. Keep USDT vs USDC freeze risk as the comparison owner and deepen with USDT vs USDC desk view.
Ban-wave weeks and destroy timing
During high-volume freeze clusters—see August 2026 Tron ban wave—freezes can land in bursts while destroys remain selective. Monitoring should alert on both event types separately. A dashboard that only counts “blacklist true” will miss the accounting cliff when destroy fires hours or weeks later.
For unfreeze petitions after freeze-only states, use how USDT unfreeze works. For tainted inbound that later freezes, use received frozen USDT desk IR plus received tainted USDT.
How FreezeRadar uses the distinction
FreezeRadar’s scan and methodology treat issuer-freeze sensitivity as a first-class signal and do not claim to predict destroy timing. Save the scan URL with explorer hashes when you escalate. Product truth: blacklist flag ≠ sanctions match ≠ composite score. Patterns and methodology exist so analysts can explain which layer fired.
Honest limits
Event indexing can lag. Bridged representations may show balances that are not official Tether Tokens. Privileged callers and multisig thresholds evolve—key-risk context is in 2-of-3 freeze authority. This article does not help anyone evade issuer controls or destroy already-executed burns.
Evidence pack template (freeze vs destroy)
Copy this into the IR ticket. Fill every line or mark N/A with a reason.
- Chain / network name
- Official USDT contract address used for the read
- Subject wallet address
- Explorer URL for the address token page
isBlackListed/ equivalent read result + block height or timestamp- Hash of
AddedBlackList(or equivalent) if found - Hash of
destroyBlackFunds(or equivalent) if found - Current USDT balance on that contract
- Whether native gas asset still moves
- Whether the failure is self-custody send vs exchange withdrawal UI
- FreezeRadar scan URL captured the same day
- Client / counterparty IDs and which statements you already made to them
If line 7 is populated, finance and counsel get the ticket before “unfreeze” language goes to the client. If line 7 is empty and line 5 is true, you are still in freeze-only territory and how USDT unfreeze works applies.
Internal messaging examples
Freeze-only (good): “On-chain USDT transfers from address X on Tron currently fail because the official USDT contract lists the address as blacklisted. Balance still shows. We opened an issuer review file and stopped inbound. Native TRX is unaffected.”
Destroy (good): “After the blacklist event, a destroy/black-funds transaction on the official USDT contract zeroed the USDT balance at address X. We are not describing this as a temporary hold. Counsel is looped for next steps.”
Bad: “Tether stole the wallet” / “We can reverse it with a special tool” / “Just bridge out.”
Relationship to sanctions screening
A blacklist flag can coincide with a sanctions or law-enforcement story, or it can be a fraud/hack response, or another Prohibited Use determination under Tether’s terms. Do not assume SDN membership from freeze alone, and do not assume freeze clearance from an empty SDN address hit. FreezeRadar already covered why SDN digital-currency addresses are not exhaustive. Keep sanctions screening on its own checklist item via OFAC wallet screening.
Training drill for new analysts (30 minutes)
- Pick a public historical
AddedBlackListevent on Ethereum from a block explorer (do not use customer addresses). - Read
isBlackListedfor that address at a recent block. - Search whether a later
destroyBlackFundsexists. - Write a five-line IR note using the table in this article.
- Peer review: did they conflate freeze and destroy?
Repeat on Tron with a Tron explorer so the muscle memory covers both rails (TRC-20 vs ERC-20 mechanics).
Product CTA without magical thinking
Run scan when the address is in dispute. Read methodology before you paste a score into a legal memo. Scores explain risk layers; they do not execute removeBlackList or reverse destroy.
Key takeaway
Freeze blocks movement; destroy deletes the USDT balance on that address after blacklist. Name the state, preserve the hash, and pick the runbook that matches. Document with a scan, then escalate through official issuer, venue, or counsel channels—not through anyone selling a technical undo.
Sources (5)
USDT Ethereum Smart Contract (TetherToken.sol)
Tether
Source showing blacklist and destroyBlackFunds mechanics.
TetherToken verified contract on Etherscan
Etherscan
Verified bytecode/ABI for privileged functions.
Tether Token Terms of Sale and Service
Tether
Contractual freeze/confiscate language.
Can Tether Freeze USDT?
FreezeRadar
Authority companion.
How USDT Unfreeze Works
FreezeRadar
Review path after freeze-only states.
Related reading
Continue exploring FreezeRadar knowledge content.
On this page
Get posts like this by email
A daily or weekly digest of FreezeRadar freeze activity.
By FreezeRadar Team
Wallet risk intelligence and stablecoin compliance analysis from FreezeRadar.


