USDT Transfer Failed: Energy/Gas vs Blacklist First Triage
OUT OF ENERGY is not a Tether blacklist. Desk differential for failed USDT sends on TRON and Ethereum: resources first, then isBlackListed, then venue hold.

When a USDT send fails, do not assume the wallet is blacklisted. On TRON the most common first failure is OUT OF ENERGY (or a too-low fee limit): the USDT is still yours, some TRX may have burned, and topping up Energy/TRX fixes it. On Ethereum the parallel is insufficient gas / fee underpricing. An issuer freeze shows up as a REVERT with isBlackListed / getBlackListStatus true on that chain’s official USDT contract—and more TRX or ETH will not clear it.
Educational only. Not legal advice. Not a recovery service. Not instructions to evade issuer, exchange, or law-enforcement controls. Fake “unfreeze agents” in Telegram are a second-scam pattern—see FreezeRadar’s frozen-wallet guides, not DMs.

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.
Direct answer
First-line desk triage for “USDT transfer failed / stuck / frozen balance”:
- Name the chain (TRC-20 vs ERC-20) and the exact error string from the explorer.
- If TRON shows
FAILED — OUT OF ENERGY(or similar Energy/fee_limit exhaustion): treat as a resource problem. Keep ≥ recommended TRX for Energy, raise fee_limit if you are constructing the call yourself, then retry once. - If the explorer shows
REVERT/ contract revert and Energy/gas was adequate: readisBlackListed(address)(orgetBlackListStatus) on the official USDT contract for that chain. True → issuer blacklist plane. False → keep looking (allowance, wrong contract, pause, venue hold on a CEX, etc.). - Do not coach “move funds before they destroy” or buy “unfreeze” services. Escalate on the plane that failed.
Operator landings once you know the plane: TRC-20 frozen wallet check · ERC-20 USDT freeze check · USDT/USDC frozen checklist.
Why two failures get collapsed into one ticket
Support queues still receive one sentence—“my USDT won’t send”—for four different realities:
| What the user feels | What often actually happened | First evidence |
|---|---|---|
| “Frozen” | TRON Energy exhausted / fee_limit too low | Explorer: OUT OF ENERGY; USDT balance unchanged |
| “Stuck pending” | ETH fee too low / dropped / replaced | Mempool / explorer pending or dropped; no blacklist flag |
| “Blacklisted” | Issuer addBlackList on that address | Contract read isBlackListed == true; transfer REVERT |
| “Exchange froze me” | Venue AML hold after deposit | In-app “under review”; personal address often still clean on-chain |
Ledger’s Tron support article is explicit for the first row: token transfers consume Energy; if Energy and TRX are insufficient, TronScan shows FAILED; OUT OF ENERGY, and the failed attempt can consume remaining Energy plus some TRX. Their practical advice is to keep enough TRX available (they cite keeping at least 100 TRX in available balance as a buffer) and update the wallet app. That is a resource FAQ, not an issuer FAQ.
TRON developer docs describe the same class as OUT_OF_ENERGY: execution burned the Energy allowed by fee_limit before the call finished; spent Energy is not refunded; fix by estimating Energy, raising fee_limit (within chain caps), or topping up / staking for Energy. High-volume contracts such as USDT also sit under TRON’s dynamic Energy model, so consumption jumps when sending to an address with zero USDT balance versus one that already holds some—desks should not treat “it worked yesterday” as proof the fee settings are still enough.
None of that is a blacklist.
TRON: Energy/Bandwidth vs isBlackListed
TRC-20 USDT lives at TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. Sending USDT is a smart-contract call. Bandwidth covers simple TRX moves; Energy covers the USDT call. Mixing those two up is how L1 tells a customer “add Bandwidth” when the failure text already said Energy.
Signals that point to Energy/fee_limit
- Explorer result text includes
OUT OF ENERGY/ out-of-energy wording. - Sender’s TRX balance dropped on the failed attempt; USDT balance did not.
- Retry after renting/staking Energy or adding TRX succeeds without any issuer ticket.
isBlackListedon the official contract returns false for sender and (when relevant) recipient.
Signals that point to issuer blacklist
- Explorer shows
REVERT/ contract revert with adequate Energy remaining or a clear require failure inside the USDT contract path. - Tron protocol maintainers have stated in public issue threads that USDT transfer REVERT is commonly the address being blocked by the USDT contract, and that calling
isBlackListedon the contract is the way to confirm. - Balance still visible; transfers involving that address fail repeatedly after resources are topped up.
- Only Tether can clear a true blacklist (
removeBlackList). Adding Energy will never flip the flag.
Chain separation matters: a Tron blacklist domain is not Ethereum’s. Bridging or “moving to another wallet app” is not an unfreeze. Read the guide for the chain you are on: TRC-20 frozen wallet check.
Ethereum: gas vs ERC-20 USDT blacklist
ERC-20 USDT (0xdAC17F958D2ee523a2206206994597C13D831ec7) uses the familiar isBlackListed / getBlackListStatus reads and privileged addBlackList / removeBlackList / destroyBlackFunds writes. MetaMask-style “transaction failed” banners compress gas failures, user rejection, and contract reverts into similar UI. Desk rule: open the explorer receipt.
Gas / fee plane
- Transaction never mined, or failed with out-of-gas.
- Raising max fee / priority fee and resubmitting (wallet-native speed-up / cancel flows) is the remediation lane.
- Blacklist read remains false.
Issuer plane
- Transaction mined (or simulated) and the USDT call reverts.
isBlackListed(address)true on the verified contract.- More ETH does not help. Correct lane: evidence packet + issuer/lawful review paths—not a gas bump. Start from ERC-20 USDT freeze check and read USDT blacklist status yourself.
If the user is looking at an exchange balance that will not withdraw, you may still be on a venue hold with a clean personal address. Separate that with the frozen checklist and hold-vs-blacklist posts—do not burn a freeze ticket on a CEX AML queue.
10-minute differential (desk script)
Use this as a ticket template, not a customer-facing essay.
- Capture: chain, wallet app, exact explorer URL, error string, sender address, intended recipient, approximate time (timezone labeled).
- Resource check (TRON): available Energy, Bandwidth, TRX liquid balance, whether fee_limit was custom. If
OUT OF ENERGY, stop here—fund Energy/TRX, one clean retry, document the failed hash. - Resource check (ETH): gas used vs limit, base fee, whether the tx is still replaceable.
- Contract read: official USDT only—never a lookalike token. Record
isBlackListedfor sender; if receive-side failures are in play, read recipient too. - Branch
- Resources fail → ops fix; no issuer language in the ticket title.
- Blacklist true → title
ISSUER_BLACKLIST; preserve AddedBlackList evidence if visible; open investigate wallet freeze reason; no “unfreeze service.” - Both clean but CEX won’t release →
VENUE_HOLD. - Balance already gone with attacker outs → drain/phishing plane (different playbook), not this triage.
- What not to write in the ticket: mixing instructions, “send to cleaner address,” or any claim that hardware custody bypasses issuer flags.
Worked composites (not case files)
A; TRON Energy miss. OTC desk tries to push 85k USDT TRC-20 from a nearly empty-TRX hot wallet. TronScan: FAILED, OUT OF ENERGY. Panic Slack: “are we blacklisted?” Contract read false. Ops stakes/rents Energy, retries, settles. Ticket closes as resource underfunding. Cost of the wrong branch: hours spent on issuer templates while the counterparty waits.
B; True blacklist after “gas” folklore. Self-custody user on Ethereum keeps bumping gas because MetaMask said failed. Receipt shows REVERT. isBlackListed true. Correct branch: stop retries, archive the failing hash, follow the frozen checklist and issuer contact path. Wrong branch: buy a second hardware wallet and shuffle—address flag follows the address.
C; Venue hold mislabeled. User deposits to a CEX; app says frozen. Personal withdrawal address reads clean on-chain. Correct branch: exchange support packet. Energy and blacklist reads were red herrings once the funds left self-custody.
Honest limits
An Energy/gas diagnosis does not prove the next hop is safe. A false isBlackListed does not prove sanctions-clean or AML-clean counterparties. FreezeRadar can show freeze/blacklist evidence and related screening context on a scan; it cannot top up your TRON Energy, replace a stuck ETH fee, force an exchange to clear a hold, or remove an issuer blacklist. Explorer UIs and wallet error strings change; always prefer the raw receipt status and a direct contract read on the official token. Dynamic Energy on TRON means yesterday’s “enough TRX” heuristic can fail today without any compliance event.
Related FreezeRadar surfaces
- TRC-20 frozen wallet check
- ERC-20 USDT freeze check
- USDT / USDC wallet frozen checklist
- Read USDT blacklist status yourself
- Investigate wallet freeze reason
- Academy: frozen
- Scan · Methodology
Key takeaway
“USDT transfer failed” is a differential, not a synonym for blacklist. On TRON, start with Energy / fee_limit / TRX; on Ethereum, start with gas and the receipt. Only when resources are adequate and the official USDT contract reports isBlackListed true do you escalate as an issuer freeze. Screen the address on /scan, then open the matching guide—not a Telegram unfreeze chat.
References
- Ledger Support — “Tether (USDT) transaction on Tron failed and ran out of energy” — https://support.ledger.com/hc/en-us/articles/8085235615133-Tether-USDT-transaction-on-Tron-failed-and-ran-out-of-energy
- TRON Developers — Smart contract errors (
OUT_OF_ENERGY) — https://developers.tron.network/docs/smart-contract-errors - Tronscan — TRC-20 USDT contract
TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t(Read Contract /isBlackListed) — https://tronscan.org/#/token20/TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t - Etherscan — Tether USD verified contract (Read Contract /
isBlackListed) — https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract - java-tron issue discussion — USDT REVERT commonly tied to blacklist; confirm via
isBlackListed— https://github.com/tronprotocol/java-tron/issues/5059 - Tether — Token Terms / legal — https://tether.to/en/legal/
Cover: Unsplash photo-1555949963 — Unsplash License — https://unsplash.com/photos/1555949963-aa79dcee981c. Light resize long edge 720px + optimize for FreezeRadar. Zipic pending. Not an official Tether, TRON, or Ledger endorsement.
Sources (6)
Ledger Support — USDT on Tron ran out of energy
Ledger
Primary wallet-vendor Energy troubleshooting for TRC-20 USDT.
TRON Developers — Smart contract errors
TRON
OUT_OF_ENERGY definition, fee_limit, dynamic Energy notes.
Tronscan — TRC-20 USDT contract
Tronscan
Official TRC-20 USDT; isBlackListed read path.
Etherscan — Tether USD Read Contract
Etherscan
Official Ethereum USDT blacklist views.
java-tron #5059 — USDT REVERT / isBlackListed
TRON protocol
Maintainer guidance: REVERT often blacklist; confirm via isBlackListed.
Tether Legal / Token Terms
Tether
Issuer blacklist / freeze contractual frame.
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.


