Why your USDT transfer failed (OUT_OF_ENERGY) and still cost TRX, and how to avoid it
Short answer: the transfer needed more energy than your wallet could pay for. Your USDT didn't move, but the TRX burned for the attempt is gone and isn't refunded. Before you retry, make sure you have about 6.5 TRX of energy budget (about 13.1 TRX to a brand-new address), or rent energy so the transfer doesn't burn TRX for energy.
You pressed send, your wallet said failed, the USDT is still there, and your TRX balance went down anyway. That’s how TRON works, not a glitch. Smart-contract work is paid for whether or not it finishes. Here’s what happened, how to confirm it on Tronscan, and how to make sure the next transfer goes through.
Have a failed transfer? Paste your failed TxID into the explorer to see why it failed and how much TRX was burned.
Why a failed transfer still costs TRX
USDT on TRON is a smart contract, and every contract call is paid for in energy. If your account has no staked or rented energy, the network burns TRX to buy it at the current price (100 sun per unit today). TRON charges for the energy a contract call consumes, not for whether it succeeds. When execution stops partway, the energy already used is still paid for, and an OUT_OF_ENERGY failure by definition used up all the energy the transaction could get (TRON resource model).
So a failed transfer has two outcomes at once:
- Your USDT didn’t move. The contract call was reverted, so the balance is exactly as before.
- Your TRX was spent on the energy and bandwidth the attempt consumed. There’s no refund.
The five common causes
1. Not enough TRX for the energy burn
The most common one. With no energy of your own, a USDT transfer needs about 6.5 TRX of burn to an existing USDT holder, and about 13.1 TRX to a wallet that has never held USDT. If your TRX balance is below that, the transaction can’t buy enough energy.
2. Fee limit set too low
Every contract call carries a fee_limit: the most TRX it is allowed to burn for energy. Most wallets set it for you, but some dApps, scripts and older tools set a low value. If the limit is below what the transfer needs, it fails with OUT_OF_ENERGY even when your wallet holds plenty of TRX (TRON docs: paying for resources).
3. The recipient is a brand-new USDT wallet
Sending to an address that has never held USDT costs about twice the energy (~131,000 instead of ~65,000), because the contract creates a new balance entry. If you rented or staked for 65,000, the transfer runs out halfway.
4. Rented energy arrived late, or expired
Energy rentals are time-limited delegations. If you send before the delegation lands, or after it expires, your transfer falls back to burning TRX and may run short.
5. It wasn’t actually energy
Some failures look similar but have other causes: REVERT (the contract refused, for example because your USDT balance is too low or the sending address is frozen by Tether), or bandwidth errors when the account can’t pay for the transaction’s size. These can still cost a little TRX, and topping up TRX won’t fix them.
How to read the failure on Tronscan
- Copy the transaction ID (txid) from your wallet’s history and paste it into tronscan.org.
- Look at the result:
OUT_OF_ENERGY,REVERT, or another status. - In the resources section, check energy usage and the TRX burned for energy and bandwidth. That burned amount is what the failure cost you.
- Look at the fee limit on the transaction. If it’s much lower than the burn a USDT transfer needs today (~6.5 TRX), cause 2 is your answer.
- Check the recipient’s USDT history. If they’ve never held USDT, cause 3 is likely.
How to make the next transfer succeed
- Fix the cause before you retry. Every retry with the same setup burns TRX again.
- Hold enough TRX for the worst case. Use the burn figure for a new wallet (~13.1 TRX) if you’re not sure about the recipient, plus a small buffer for bandwidth.
- Let the wallet set the fee limit, or set it generously. You only pay for energy actually used, not the limit itself.
- If you rent energy, rent 131,000 for new recipients, wait until the delegation shows in your account, and send well before it expires.
- Or use sponsorship. With TronTransfer you pay a flat fee of about 5.48 TRX (~$1.81), or about 10.76 TRX to a new wallet. The relay checks whether the recipient is a new USDT wallet and sizes the energy to match. It confirms your fee, delegates the energy, waits until it shows in your account, and only then broadcasts your USDT transfer, so the transfer doesn’t go out short of energy.
What a wallet should do for you
Most of these failures are predictable before you sign. A wallet can simulate the transfer, estimate the energy, compare it with your resources and TRX balance, and stop you if the send would fail. That is what TronTransfer Wallet is being built to do (it’s in development and early access, not yet released or audited):
- A pre-flight simulation estimates the energy and sets the fee limit with a safety margin.
- If your balance can’t cover the worst case, it blocks the send before signing and says exactly how much TRX is missing.
- The recipient is labelled when it’s a new USDT wallet that needs about twice the energy.
- Failures are explained in plain language, and a signed transfer is never blindly retried.
Failed transfers are one of the eleven problems in the 11 ways TRON wallets get drained. For the cost side, see why TronTransfer is the cheaper way to send USDT.
Sources
- TRON developer docs, resource model (energy, bandwidth, TRX burn): developers.tron.network/docs/resource-model
- TRON developer docs, paying for resources (burn prices, fee_limit, failed calls): developers.tron.network/docs/paying-for-resources · TronLink: why does a failed transaction still incur a fee?
- Common failure causes: TronSave: TRON transaction failed · TRON DAO forum: OUT_OF_ENERGY
- Live burn and fee numbers: trontransfer.com/usdt-fee-today
Frequently asked questions
Why did my USDT transfer fail with OUT_OF_ENERGY?
The transfer needed more energy than the transaction could get. A USDT (TRC-20) transfer uses about 65,000 energy, or about 131,000 to a wallet that has never held USDT. If your staked or rented energy plus the TRX the transaction was allowed to burn (limited by your TRX balance and the fee limit) couldn't cover that, execution stopped with OUT_OF_ENERGY.
Did I lose my USDT when the transfer failed?
No. A failed transfer doesn't move any USDT; it stays in your wallet. What you lose is the TRX burned for the energy the transaction used before it stopped, plus bandwidth.
Will I get the TRX back from a failed TRON transaction?
No. TRON charges for the resources a transaction consumed even when execution fails, and there is no refund mechanism. That's why it's worth fixing the cause before trying again.
How much TRX do I need so a USDT transfer doesn't fail?
If you have no staked or rented energy, you need about 6.5 TRX for a transfer to a wallet that already holds USDT and about 13.1 TRX for a new wallet, plus a little for bandwidth and a buffer. Through TronTransfer you need the flat fee of about 5.48 TRX (about 10.76 TRX to a new wallet) plus roughly 1 TRX.
What is fee_limit on TRON?
fee_limit is the maximum amount of TRX a smart-contract transaction may burn for energy. Wallets usually set it automatically. If it's set too low for the transfer, the transaction fails with OUT_OF_ENERGY even if your wallet holds plenty of TRX.