TronLink and Trust Wallet Transfer Errors: What Each Message Means and How to Fix It

A dictionary of TronLink and Trust Wallet errors for USDT TRC-20 transfers: what each message means, whether money was charged, and how to resend without extra losses.

Overtron Editorial

Short answer: when a TronLink or Trust Wallet transfer fails, it almost always means one of three things. Either the wallet couldn't build the transaction (not enough TRX for the fee, the address isn't activated, the address is invalid), or a network node rejected it before it reached a block (no bandwidth, bad signature, expired), or it made it into a block but ended with a FAILED status (OUT_OF_ENERGY, REVERT). In the first two cases nothing is charged. In the third, your USDT stays with you, but the TRX burned on the attempt is not refunded. Below is every message and what to do about it.

A smartphone with a warning sign floating above an open handbook and a magnifying glass
An error dictionary: the message tells you at which stage the transfer stopped

How to read a TronLink transfer error: three stages

A USDT TRC-20 transfer goes through three stages: the wallet builds and signs the transaction, a network node validates it and accepts it into the queue, and then it executes in a block. An error at each stage looks different and affects your money differently.

  • Before sending (the wallet): the button is disabled or a warning pops up. There is no transaction, no TXID, nothing charged.
  • Node rejection: the wallet shows a code like BANDWITH_ERROR, SIGERROR, or TRANSACTION_EXPIRATION_ERROR. The transaction never reached a block, nothing charged.
  • Execution in a block: there is a TXID, and Tronscan shows FAILED with OUT_OF_ENERGY or REVERT. The USDT didn't move, but the resources and TRX for the attempt are spent.

The first thing to do with any error is to find out whether the transfer has a TXID. If it does, open it on Tronscan: the status and reason there are more precise than the wallet's text.

How to find a transaction by its hash and read its status is covered in the checklist USDT sent but not received.

Errors before sending: the wallet won't sign the transfer

"Not enough TRX for network fee" / Insufficient TRX

The most common message in both TronLink and Trust Wallet. A USDT transfer calls a smart contract and needs energy: about 64,500–65,000 to an address that already holds USDT, and about 131,000 to an empty one. If the wallet has no energy, the network burns TRX instead — roughly 6.5 TRX, or about 13 TRX to an empty address. The wallet sees in advance that TRX is short and blocks the transfer.

Fix: top up the wallet with TRX and leave a margin, or get energy onto the sender's address in advance by staking or renting. With energy in place, TRX is only needed for bandwidth, and the first transfer of the day often fits into the free 600 units.

Step by step for both wallets: "Not enough TRX to cover the network fee".

Account does not exist / address not activated

A new TRON address only exists on-chain after activation — its first incoming TRX or TRC-10 transfer. If the address has only received USDT, it may still be inactive, and nothing can be sent from it: the node replies that the account doesn't exist. Fix: send a small amount of TRX to the address, and it becomes a full account.

Balance is not sufficient

The amount is larger than the available balance. With USDT, a common cause is trying to send "the whole balance" with rounding up, or a stray space in the amount field. With TRX, it's trying to send every last unit when part of it is needed for the fee. Lower the amount and check that the wallet has USDT TRC-20 selected, not another token with a similar name.

Invalid address

A TRON address starts with the letter T and is 34 characters long. The error appears if you paste an address from another network (for example, one starting with 0x), a truncated address, or one with an extra space. The wallet is protecting you: such a transfer won't go to a different network. Copy the address again and check more than the first and last characters — scammers deliberately generate look-alike addresses.

Node rejection: the transaction never reached a block

BANDWITH_ERROR

Yes, it's spelled that way, with a typo — that's its name in the protocol. It means the transaction ran out of bandwidth: the free daily 600 units are used up, and there's no TRX on the balance to pay for the bytes. A simple transfer takes about 345–360 bandwidth, so a second transfer of the day without TRX often hits exactly this. Fix: keep a small TRX buffer, wait for the free allowance to recover, or get bandwidth together with energy.

SIGERROR / Permission denied

The signature doesn't match the wallet's permissions. Harmless causes: you imported a watch-only address, or you're signing with the wrong account. Dangerous cause: the wallet's permissions were rewritten — a scammer set their own key as owner via multisig, and your key can no longer send anything. If the error appears suddenly on a wallet you've used for a long time, check the Permissions tab on Tronscan.

What this looks like and what to do next: check a TRC20 wallet for multisig.

TRANSACTION_EXPIRATION_ERROR and TAPOS_ERROR

A transaction is signed with a reference to a recent block and a lifetime. If it took too long to reach the node (poor connection, slow confirmation in the wallet, wrong time on the phone), it expired or its reference block went stale, and the node drops it. No money is charged. Make sure your device's time is set automatically and resend the transfer.

DUP_TRANSACTION_ERROR

The node has already seen this exact transaction. Usually it's a second tap on "Send" after the screen froze. The first transaction most likely went through: find it in your history or on Tronscan by address before sending the amount again.

In a block, but FAILED

OUT_OF_ENERGY

The transaction executed, but the energy and the TRX it was allowed to burn ran out before it finished. The usual culprit is the fee limit — the cap on how much TRX the transaction may burn — set too low, especially when sending to an empty address that needs twice the energy. Your USDT stays on your address, but the energy used and the TRX burned are not refunded. Before retrying, check whether the recipient holds USDT and make sure you have energy with a margin.

The error code and how to calculate the right limit: FAILED — OUT_OF_ENERGY error.

REVERT

The USDT contract itself refused to execute the transfer. Typical causes: the sender or recipient address is frozen by the issuer, the balance holds less USDT than the transaction, or the wallet built malformed call data. Retrying blindly is pointless — find the cause first.

What comes back after a REVERT and how to check an address for a freeze: failed TRON transaction and how to check USDT TRC-20 for AML and freeze risk.

Trust Wallet transaction failed: same causes, different words

Trust Wallet shows simplified messages like "insufficient funds for fee" or "transaction failed" and shows the network code less often. The causes are the same, so do this: open the transaction details, copy the hash, and check the status on Tronscan. No hash means a pre-send error (TRX, address, amount). A hash with FAILED status means you look at the reason: OUT_OF_ENERGY or REVERT.

Also keep in mind that Trust Wallet decides on its own how much TRX it's willing to spend and doesn't always show the fee limit in as much detail as TronLink. For regular transfers, having energy on the address in advance is more reliable than relying on the automatic estimate.

What to do when a transfer fails: step by step

  • Don't tap "Send" again until you know whether the first transaction went through.
  • Find the TXID in the wallet history. No TXID means a pre-send error, and your money is where it was.
  • If there's a TXID, open it on Tronscan and check the status and reason.
  • For "insufficient TRX", BANDWITH_ERROR, and OUT_OF_ENERGY, sort out resources: TRX with a margin, or energy and bandwidth on the sender's address.
  • For SIGERROR and REVERT, first check the wallet's permissions and whether the addresses are frozen — retrying won't help.
  • Retry with a small amount if you're unsure about the address or settings.

To stop resource-related errors from repeating, you can buy TRON energy for a specific transfer: to an address with USDT or to an empty one. The price depends on the market and is shown before you pay, and the service status page shows that delivery is working.

An error message is a hint about the stage where the transfer stopped. Once you know the stage, you already know whether anything was charged and what to do next.

Need energy for a USDT transfer? Rent it in the Telegram bot @overtronbot — energy arrives on your address via delegation, no keys required.

Read also

FAQ

Why does TronLink show an error when I send USDT?

Most often the wallet has no energy and not enough TRX for the network to burn instead. Less often the address isn't activated, the recipient address is invalid, bandwidth ran out, or the contract reverted the transfer (REVERT).

Am I charged when a TronLink transfer fails?

If the transfer has no TXID or a node rejected it (BANDWITH_ERROR, SIGERROR, expired), nothing is charged. If it reached a block with FAILED status, your USDT stays with you, but the energy and TRX spent on the attempt are not refunded.

What does OUT_OF_ENERGY mean in Trust Wallet and TronLink?

The transaction didn't have enough energy and allowed TRX burn to finish. Usually the fee limit was too low, or the recipient is an empty address that needs about 131,000 energy instead of roughly 65,000.

What should I do if Trust Wallet says insufficient funds for fee?

Top up the address with TRX and leave a margin, or get energy onto it in advance by staking or renting. The USDT amount doesn't matter here: the fee is paid in TRX or network resources.

Why do I get BANDWITH_ERROR when I have energy?

Energy and bandwidth are separate resources. The free 600 bandwidth units per day cover roughly one simple transfer; after that you need TRX or purchased bandwidth.

Can I resend a transfer after an error?

Yes, but first confirm via the TXID that the first transaction didn't go through, and fix the cause. For REVERT and SIGERROR, retrying without checking won't help.

Does SIGERROR mean I've been hacked?

Not necessarily: it happens with watch-only addresses. But if the error appears suddenly on a wallet you use, check Permissions on Tronscan — the permissions may have been rewritten via multisig.

Why does TronLink say the recipient address is invalid?

A TRON address starts with T and has 34 characters. The wallet won't accept an address from another network (starting with 0x), a truncated one, or one with an extra space — this protects you from sending to the wrong network.