TRON Energy and Bandwidth Explained - How TRC20 Fees Work
What are TRON energy and bandwidth, why is TRX burned, and how is a TRC20 USDT transfer fee calculated? A plain-English guide for merchants and payers.

Fees on TRON don't work like the familiar "gas price" on Ethereum. They come from two resources: TRON energy and bandwidth. This guide explains what each one is, how the cost of a TRC20 USDT transfer is put together, and what that means for you and your customers.
The short answer
- Bandwidth pays for the size of a transaction in bytes. Simple transactions such as TRX transfers mostly use bandwidth only.
- Energy pays for running smart contracts. USDT on TRON is a TRC20 token, meaning a smart contract, so every USDT transfer consumes energy.
- If an account doesn't have enough energy or bandwidth, TRX is burned to cover the shortfall. In practice, that burned TRX is what people call the transaction fee.
That's why a wallet sending USDT also needs to hold some TRX.
What is bandwidth on TRON?
Bandwidth maps to the byte size of a transaction. Every transaction adds data to the chain, and that data is paid for in bandwidth points.
Activated TRON accounts receive a limited free bandwidth allowance every day. Someone making a few simple TRX transfers a day can often do so without paying anything. Once the allowance runs out, or for larger transactions, TRX is burned to cover the bandwidth.
The other way to get bandwidth is to stake TRX. Locking TRX on the network grants you bandwidth or energy in return.
What is energy on TRON?
Energy measures the computation done when a smart contract runs. A TRC20 transfer is really a call to the transfer function of the USDT contract, which debits the sender's balance and credits the recipient's. That computation and storage is paid for with energy.
Energy isn't handed out for free. It comes from one of three places:
- Staking TRX: staked TRX grants the account energy, which regenerates over time as it's used.
- Renting energy: some services let you rent energy from staked resources for a period.
- Burning TRX: with no energy available, the network burns TRX equal to the energy needed. This is the default for accounts that haven't arranged resources, and usually the most expensive route.
How the fee for a USDT (TRC20) transfer is formed
| Factor | Effect |
|---|---|
| Does the recipient already hold USDT? | If not, the contract creates a new storage slot, which uses roughly twice the energy |
| Sender's energy | With enough energy, no TRX is burned and the fee drops to near zero |
| Sender's bandwidth | If free allowance or stake doesn't cover it, a small amount of TRX is burned |
| Network energy price | Governance parameters change from time to time, which affects how much TRX is burned |
For a rough sense of scale: a USDT transfer uses approximately 65,000 energy units when the recipient already holds USDT, and approximately 130,000 when it doesn't. These figures are approximate and can shift with the contract and network conditions. The TRX cost of that energy depends on network parameters and the TRX price, so we don't quote a fixed fee here. Your wallet shows the current cost before you confirm.
TRX transfers don't run a smart contract, so they use no energy, only bandwidth, and are usually much cheaper. The first TRX transfer to a never-used (unactivated) address may burn a small extra amount of TRX to activate the account.
What this means for your customers
Customers pay in one of two ways, and the experience differs:
- From an exchange: the customer never deals with energy or bandwidth. The exchange shows its own flat withdrawal fee and covers the network cost itself. The one thing that matters is choosing TRC20 / TRON as the network on the withdrawal screen. See crypto sent to the wrong network for what happens otherwise.
- From a personal wallet: the wallet needs some TRX alongside the USDT, or the transfer fails with an "insufficient energy/bandwidth" error. A short note about this on your checkout or FAQ page cuts down on abandoned payments.
On MercanPay, USDT invoices include a 1 USDT network fee paid by the customer. It covers the on-chain costs of collecting and processing payments, so what you receive doesn't swing with energy prices.
What this means for you
As a merchant you don't need to stake energy, rent it, or keep TRX around for every payment. On MercanPay, payments are credited to your balance after 20 block confirmations. When you withdraw, network costs are covered by the withdrawal fee of 1–3 USD, so sending USDT to your own wallet needs no energy planning on your side.
This matters most for businesses taking many small payments. Setting up energy for every deposit address to sweep USDT is a real operational job. When the payment infrastructure handles it, you can focus on selling. For the full flow, read what a crypto payment gateway is.
Why TRC20 is still one of the cheaper options
USDT lives on several networks. TRON stands out because short block times and its resource model make transfers fast and predictable. The energy model looks complex at first, but the cost to the sender stays reasonable compared with many networks. For a side-by-side view, read USDT on TRC20 vs ERC20 vs BEP20.
FAQ
Why do I need TRX to send USDT?
A USDT transfer is a smart contract call, so it consumes energy. Without energy, the cost is paid by burning TRX. With no TRX in the wallet at all, the transfer can't be sent.
Why is the TRC20 fee different every time?
It depends on whether the recipient already holds USDT, how much energy and bandwidth the sender has, and the network's current parameters.
Do I have to manage energy as a merchant?
No. When you accept payments and withdraw with MercanPay, energy is handled on the infrastructure side. You only see the withdrawal fee.
Who pays the fee when a customer pays from an exchange?
The exchange charges the customer its own withdrawal fee. That fee varies by exchange and is separate from your invoice.
Get started with MercanPay
Accept USDT and TRX without dealing with energy, bandwidth or burn math. Apply, get approved and create your first invoice right away: open a merchant account. Technical details are in the documentation.


