Why is my USDT frozen? What a broker must do
Published 2026-09-09 · Updated
A Tether freeze is a flag set inside the USDT contract. It is neither a court order nor a sanctions listing. This guide covers what the flag means, how to read it, and what the receiving institution should do next.
When a client asks "why is my USDT frozen?", the answer is almost always that Tether has added the address to the blacklist in its USDT contract. The tokens still show in the balance, but the contract will not move them. This guide explains what that flag is, how it differs from a sanctions designation, and what a broker or payment institution should do when a client's deposit, or the client's wallet, turns out to be frozen.
Start free sandboxTalk to us50 screenings a month free, no card.
On this page
What a Tether freeze is
A boolean flag in the official USDT contract. The contract rejects transfers from a listed address.
Tether's USDT contracts on Ethereum, Tron and Avalanche carry an owner-controlled blacklist. On Ethereum and Tron the public read function is isBlackListed(address). On Avalanche, where Tether runs its newer contract, it is isBlocked(address). Both return true or false. When the answer is true, the contract rejects any transfer sent from that address, so the holder cannot move the balance. The contract owner can also destroy a blacklisted balance. Circle's USDC contracts have an equivalent function, isBlacklisted(address), with the same effect.
Tether adds addresses at the request of law enforcement, in response to court orders and hacks, and under its own compliance programme. Individual freezes are not announced, so the contract itself is the only authoritative source. KYTGate therefore reads the flag live from the official contract at every screening instead of relying on a cached label.
Only the official contract counts. A token that merely calls itself "USDT" on another chain, such as a bridged or Binance-Peg variant, has no issuer blacklist function at all. See the official contract list for which contracts KYTGate reads.
How a freeze differs from a sanctions listing
A freeze is a private action by the issuer. A sanctions listing is a government designation with legal duties attached. Neither implies the other.
A sanctions listing is a designation by a government body (OFAC, the UK Sanctions List, the EU) that creates legal obligations for you: asset freezing, reporting and a ban on dealings. An issuer freeze is a private company acting on its own contract. It carries no legal designation, and there is no public list to check. The contract itself is the record.
The two overlap only partly. Many sanctioned addresses hold no stablecoins and are never frozen. Many frozen addresses are not on any sanctions list. They were flagged after a hack, a scam report or a request from a police force. So a "not frozen" answer says nothing about sanctions, and a "no sanctions match" says nothing about a freeze. KYTGate reports the two as separate coverage dimensions, sanctions and issuerFreeze, and never folds one into the other.
They do carry similar evidential weight. KYTGate's baseline policy treats both as hard signals. A sanctions match or an issuer freeze on the counterparty produces BLOCK_PENDING_MLRO, opens a case and holds the funds for the MLRO. Nothing is returned automatically.
Three situations brokers meet
The sender is frozen before sending, frozen after the deposit arrived, or your own receiving address is frozen.
- The client's wallet was frozen before they sent. The transfer never happens. The client sees a failed transaction and asks you why. There is nothing to credit or hold, but the client has just told you their wallet is on Tether's blacklist. Record that in the customer file before you accept any further deposit from them.
- The deposit arrived, and the sending address is frozen now. The tokens moved before the freeze, so you hold funds whose source Tether has since flagged. This is the case that needs a documented decision: whether the funds are credited, held or returned, and on what evidence.
- Your own receiving address is frozen. This is rare but serious, because every USDT at that address is stuck, including other clients' deposits. Handle it as an operational incident rather than a compliance case. Stop routing deposits to the address immediately and contact the issuer through counsel.
What the receiving institution should do
Do not credit, open a case, ask the client through a remediation link, document, escalate to the MLRO, and decide on an STR.
- Do not credit the ledger. A frozen counterparty is a hard signal. If you credit first and ask later, you end up explaining a payout instead of a hold. KYTGate's decision for this case is BLOCK_PENDING_MLRO, and in enforce mode that means hold the funds.
- Open a case with the evidence attached. The case should record what was read (the contract, the method, the chain), when, and the sanctions snapshot in force at the time. KYTGate opens the case automatically on the non-ALLOW decision and stores the signed Decision Receipt with it.
- Ask the client through a remediation link. A one-time request can ask for an exchange withdrawal receipt, a source-of-funds explanation, or a wallet-ownership signature. The client sees your company name and a checklist, never the case or the decision. Answers land on the case timeline.
- Document what you did and why. The reviewer's notes, the client's answer, and the final outcome (credited, returned, refused) are what an examiner asks for. Closing a KYTGate case requires a recorded outcome: RELEASE, REJECT or NO_ACTION.
- Escalate to the MLRO. Releasing funds on a BLOCK_PENDING_MLRO decision is an MLRO override. It is permitted, requires four-eyes approval, and is labelled as an override on the receipt, the evidence pack and the webhook. A single reviewer cannot make that call alone.
- Consider whether a report is due. A freeze is not proof of a crime, but it is often the visible end of an investigation. Whether to file a suspicious transaction report is the MLRO's judgement under your jurisdiction's rules. KYTGate drafts the factual bundle (addresses, hashes, timeline, coverage, receipt) and leaves the reasons-for-suspicion section empty for the MLRO to write. If in doubt, check with counsel.
How KYTGate reads and reports freezes
A live isBlackListed / isBlacklisted read on every screening. The result is a coverage dimension and, when true, a severity-100 signal.
On every screening (deposit, withdrawal, wallet registration, re-screen) KYTGate calls the issuer blacklist function on each canonical USDT and USDC contract for that chain, over public RPC. The result is recorded as the issuerFreeze coverage dimension: COMPLETE when the read succeeded, MISSING when the RPC could not answer (the decision is then TECHNICAL_HOLD, never a silent pass), and UNSUPPORTED on chains with no canonical issuer contract, such as BNB Chain.
A true answer becomes a signal with category issuer_blacklist, severity 100, provider issuer:tether or issuer:circle, and a summary naming the token and chain. The signed Decision Receipt keeps that signal and the coverage matrix, so the state you acted on can be shown later even if the address is unfrozen afterwards. Registered wallets are re-read every 6 hours and after every sanctions list change. A freeze or unfreeze on a registered wallet emits a wallet.state_changed webhook and a case.
The same read is available without an account on the free USDT blacklist check and Tron USDT blacklist check. Each result shows the contract, the method and an explorer link so you can verify it yourself.
Questions
Why is my USDT frozen?
Because Tether has added your address to the blacklist inside its USDT contract. The contract's public blacklist function (isBlackListed on Ethereum and Tron, isBlocked on Tether's newer contract on Avalanche) returns true for it, and the contract refuses transfers sent from the address. Tether does this at the request of law enforcement, after hacks and scam reports, and under its own compliance programme. It does not announce individual freezes.
Is a frozen USDT address the same as a sanctioned address?
No. A sanctions listing is a government designation (OFAC, the UK Sanctions List, the EU) with legal obligations attached. A freeze is a private action by the issuer on its own contract. Many frozen addresses are on no sanctions list, and many sanctioned addresses are never frozen. KYTGate reports them as two separate coverage dimensions.
Can a broker credit a deposit that came from an address that is now frozen?
The tokens already moved, so technically you hold them. Whether to credit, hold or return them is a compliance decision that should be taken with the evidence on file and, for a release, by the MLRO. Under KYTGate's baseline policy the decision is BLOCK_PENDING_MLRO, a case opens, and a release is recorded as a four-eyes MLRO override.
Does a freeze mean we must file a suspicious transaction report?
Not automatically. A freeze is a strong indicator, not proof of a crime. Whether a report is due depends on your jurisdiction and on what the MLRO concludes from the file. Check with counsel. KYTGate prepares a factual STR/SAR draft from the case and leaves the reasons-for-suspicion section for the MLRO to write.
How does KYTGate know an address is frozen?
It calls the blacklist function on the official USDT and USDC contracts live, over public RPC, on every screening, and records the answer inside the signed Decision Receipt. If the read cannot complete, coverage is MISSING and the decision is TECHNICAL_HOLD rather than a pass.
Read more
- USDT blacklist check (free, live)
- Tron USDT blacklist check (TRC-20)
- GateRemediate: asking the client through a one-time link
- Stablecoin compliance for brokers
- Official USDT and USDC contract addresses by chain
- Wallet ownership verification for withdrawals
- Crypto deposit compliance checklist for MLROs
- How to use the OFAC crypto address list
- The crypto Travel Rule for brokers
- All guides