TRON's "FAILED — OUT_OF_ENERGY" Error: Why Your USDT Transfer Failed and Whether Your Money Is Safe
Your USDT TRC-20 transfer ended with FAILED — OUT_OF_ENERGY. We break down the mechanics: why the network ran out of Energy, what happened to your tokens (they are safe), how to verify the transaction by TXID on Tronscan, and how to resend without the error.
Short answer: your USDT is safe. The "FAILED — OUT_OF_ENERGY" status means the smart contract ran out of Energy while executing your transfer, so the network halted execution and rolled back every change — the tokens never left your address. The only thing you can lose is the fee: TRX burned within the fee_limit is not refunded. Below we break down where this error comes from, how to verify your transaction by TXID on Tronscan, and what to do so the retry goes through on the first attempt.

What the OUT_OF_ENERGY status means
OUT_OF_ENERGY is one of the standard transaction result codes in the TRON protocol. It is defined in the java-tron node source code alongside SUCCESS and REVERT — see the contractResult enum in Tron.proto in the tronprotocol/java-tron repository. It appears in exactly one situation: the virtual machine started executing a contract call, the Energy resource ran out, and execution was cut off.
The key property that answers the main question: TRON transactions are atomic. A transaction either executes in full or not at all — there is no such thing as a half-completed transfer. For a FAILED transaction, the balance records in the USDT contract never changed: the recipient received nothing, and the sender lost nothing except the fee. That is why this status is scary rather than harmful.
What exactly is lost: according to the official TRON documentation (Resource Model), when execution terminates abnormally, the network deducts the maximum Energy allowed for the transaction — capped by the fee_limit parameter. In other words, the cost of the error is the burned fee within your limit, never the transfer amount itself.
Why it happens: how Energy works on TRON
USDT on TRON is a token living on a TRC-20 smart contract. A transfer is not a coin being passed along — it is a call to the transfer function: the network runs the contract code and checks and updates both balances. That work is measured in Energy, and the network deducts it at execution time. If your address has no Energy, or less than required, the network covers the shortfall by burning TRX — until it hits the limit.
How much Energy a transfer costs. A regular USDT transfer to an address that already holds the token consumes 64,285 Energy — visible in any successful USDT contract transaction, for example this one (Tronscan, July 17, 2026). If the recipient has never held USDT, the contract creates a new storage record for them and the cost nearly doubles to 130,285 Energy: an example of such a transaction. This is the most common cause of a "sudden" OUT_OF_ENERGY: the wallet budgeted for a regular transfer, but the recipient turned out to be a fresh address.
What burning costs. The burn rate is the getEnergyFee network parameter, currently 100 sun per unit of Energy (confirmed by the Resource Model documentation; you can read the live value from any node via wallet/getchainparameters). The math as of July 17, 2026: 64,285 × 100 sun ≈ 6.4 TRX for a regular transfer and 130,285 × 100 sun ≈ 13 TRX for a transfer to an address without USDT. The rate changes by super representative vote, so recalculate on the day you send.
Where the fuse sits. How much TRX a wallet is allowed to burn per transaction is capped by the fee_limit parameter, set when the transaction is created (the FeeLimit parameter guide in the TRON docs). From there the arithmetic is simple: if available Energy plus TRX within the fee_limit covers less than the actual execution cost, the virtual machine aborts with OUT_OF_ENERGY.
The typical scenarios where this happens:
- Your rented Energy expired before you sent the transfer, and there was no TRX on the balance to burn.
- The wallet estimated the fee for a regular transfer (~64,285 Energy), but the recipient turned out to be an address with no USDT — the real cost is nearly double.
- The address had a little Energy and a little TRX, but together they did not cover the full execution cost.
- The fee_limit was set too low manually — usually when sending via an API or a custom integration.
Checklist: verifying the transaction by TXID on Tronscan
The TXID (transaction hash) is in your wallet history or your exchange statement. Open the Tronscan explorer, paste the TXID into the search bar, then go step by step:
- Step 1. Transaction status. A failed transfer is marked FAILED, with OUT_OF_ENERGY as the result in the details. If the status is SUCCESS, the transfer went through and Energy is not your problem.
- Step 2. The transaction's resource block. Check how much Energy was consumed and how much TRX was burned — that is your actual loss.
- Step 3. Your address. Open your address page and confirm the USDT balance is unchanged: a FAILED transaction does not touch balances.
- Step 4. Your address's resources. The address page shows how much Energy and Bandwidth you have right now — compare it with the transfer cost from the previous section.
- Step 5. The recipient's address. If it has no incoming USDT transactions at all, budget double the Energy for the first transfer.
- Step 6. If the TXID cannot be found at all, the transaction never reached the network. That is a different case: the wallet failed to broadcast it, so troubleshoot the wallet, not Energy.
How to fix it right now
The failed transaction sent nothing, so there is no risk of a duplicate: you can safely resend as soon as the resource shortfall is closed. There are three ways to close it.
- Rent Energy for the transfer: about 65,000 units for a regular transfer and about 131,000 if the recipient does not hold USDT yet. Your TRX barely gets touched: burning is replaced by delegated resource.
- Top up your TRX balance with a margin over the estimated burn cost (roughly 6.4 or 13 TRX at the July 17, 2026 rate — see the math above) and resend, accepting that burning is the most expensive route.
- Raise the fee_limit if you set it manually or via an API: the limit must cover the full execution cost, not a best-case estimate.
You can rent Energy for a specific transfer in the @overtronbot Telegram bot or on the Overtron website: enter the address, amount, and duration — the Energy is delegated to your wallet on-chain, delivery usually takes under a minute, and no private keys are needed. Once it arrives, simply create the transfer again: there is no "retry" button on a failed transaction.
How to never hit OUT_OF_ENERGY again
This error is entirely preventable — four habits are enough. First: look at the recipient before sending. If the address is fresh and has never held USDT, the first transfer costs nearly double in Energy (130,285 versus 64,285 units — a live example), and your wallet's estimate may not account for that.
Second: keep a small TRX reserve even when renting Energy. Besides Energy, a transaction consumes Bandwidth; every active address gets 600 free Bandwidth units per day (Resource Model), but a series of transfers exhausts the free allowance and the network covers the rest from TRX. Third: for a batch of transfers, rent the full amount upfront rather than one portion per transfer — so you never end up mid-series with an empty resource. Fourth: for regular operations, set up auto-refill — a rule will maintain the Energy level on your address for you.
Read next
- Why USDT TRC-20 transfers burn TRX and how to stop it
- How much Energy one USDT transfer needs — table and math
- How to rent TRON Energy step by step
- Auto-refill of TRON Energy for regular transfers
To make your retry go through on the first attempt, rent Energy for the transfer — enter the address and amount; delivery is confirmed on-chain and no private keys are needed.
Читайте также
Is my USDT safe after an OUT_OF_ENERGY error?
Yes. TRON transactions are atomic: since execution was interrupted, every change was rolled back and the tokens stayed on your address. You can verify it in a minute: open your address on Tronscan and check the USDT balance — it has not changed.
Will the TRX burned in the failed transaction be refunded?
No. Burned TRX is the network's payment for work the virtual machine already performed, and on abnormal termination the maximum allowed by the fee_limit parameter is deducted. That part is not refundable — which is exactly why it pays to secure Energy in advance instead of falling back to burning.
Can a FAILED transfer still "arrive" later?
No. FAILED is a final status: the transaction is already recorded on the blockchain as not executed, and the network will never retry it. To send the money, create a new transaction.
How much Energy do I need for a USDT transfer to definitely go through?
About 64,285 units for a transfer to an address that already holds USDT, and about 130,285 units if the recipient has never held the token. These are actual values from USDT contract transactions on Tronscan as of July 2026; before sending, sanity-check the cost against recent contract transactions.
Why didn't my wallet warn me there wasn't enough Energy?
The wallet estimates the cost in advance, but the network executes the transaction based on the actual state at the moment it is included in a block. The estimate most often diverges from reality when the recipient does not hold USDT yet (the cost nearly doubles) or when rented Energy expired between the estimate and the send.
What is fee_limit and should I increase it?
It is the maximum TRX a transaction may burn during execution; the parameter is set when the transaction is created. Mobile wallets usually set it automatically. Raising it manually makes sense when you work via an API: the limit must cover the full execution cost with a margin, otherwise execution aborts with OUT_OF_ENERGY.
How do I check how much Energy I have right now?
Open your address page on Tronscan — the resource block shows your available Energy and Bandwidth. Most wallets (TronLink, Trust Wallet) show the same numbers in the account details.
Is it safe to resend — could the amount be sent twice?
It is safe. The failed transaction moved no tokens, so the resend is the first and only real transfer. There will be no double spend: the old transaction stays on the blockchain forever with a FAILED status and zero USDT moved.

