How Much TRON Energy Does Each Transaction Type Use?
Energy and bandwidth for TRX and TRC-10 transfers, USDT transfer and approve, a DEX swap, staking, delegation and voting, measured on mainnet on Oct 19, 2026.
- Category
- Calculations
- Published
- Reading time
- 8 min

Only smart contract calls use TRON energy. Plain TRX and TRC-10 transfers, staking, delegating energy and voting use none at all, only about 250 to 340 units of bandwidth. Contract calls are where the energy goes: as of Oct 19, 2026 a USDT transfer used 64,285 energy (130,285 to an address with no USDT), a USDT approve 99,764 and a swap between TRX and USDT on SunSwap V2 between 157,354 and 223,354.
Every number below links to a real mainnet receipt on TronScan.
Energy and bandwidth by transaction type
We read every receipt in six consecutive blocks, 87,238,000 to 87,238,005 (Oct 19, 2026, 05:17:00 to 05:17:15 UTC, 2,940 transactions). Swaps and approvals are rarer, so we added the last 30 calls to the SunSwap V2 router (Oct 17-19), recent USDT approvals, and staking and voting transactions from the next 30 blocks.
| Transaction | Energy | Bandwidth | Example |
|---|---|---|---|
| TRX transfer | 0 | 265 (most of the sample) | 3afd2221… |
| TRC-10 token transfer (token ID 1002000) | 0 | 279 to 283 (280 in the example) | 2052dc22… |
| USDT transfer, recipient holds USDT | 64,285 | 345 | 7e08f5e2… |
| USDT transfer, recipient has no USDT | 130,285 | 345 | 0b3a2a3d… |
| USDT approve | 99,764 | 345 | cd35d59c… |
| Swap TRX for USDT, SunSwap V2 | 157,354 | 513 | f08027b0… |
| Same swap, recipient likely without USDT | 223,354 | 512 | ae37eee6… |
| Swap USDT for TRX, SunSwap V2 | 166,663 or 190,865 | 539 | db3986db… |
| Stake TRX for energy (FreezeBalanceV2) | 0 | 255 | d121aa84… |
| Delegate energy (DelegateResource) | 0 | 281 (277 to 299) | 77605fd2… |
| Reclaim delegated energy (UnDelegateResource) | 0 | 283 (279 to 301) | 20f11e58… |
| Vote for 3 Super Representatives | 0 | 332 | 43ec228f… |
| Claim voting rewards (WithdrawBalance) | 0 | 246 | a8263a1a… |
| Change account permissions | 0 | 373, plus a 100 TRX fee | 38afb5c8… |
The counts in the six blocks back up the zeros: 1,082 TRX transfers, 333 TRC-10 transfers, 304 delegations and 799 reclaims, and every one of them used 0 energy. Of 383 successful USDT transfers, 319 used exactly 64,285 and 64 used exactly 130,285. No other values appeared.
Bandwidth follows the size of the transaction in bytes: a swap carries a token path and takes over 500. What bandwidth costs once the free 600 units run out is covered in TRON bandwidth cost.
Why staking, delegation and voting need no energy
TRON has two kinds of transactions. Most operations, such as TRX transfers, staking, delegation and voting, are built-in system contracts that the protocol handles directly. Energy pays only for code that runs in the TRON virtual machine, that is, for calls to smart contracts and for deploying them (TRON docs).
- You can stake TRX for energy with zero energy on the address. All you need is enough bandwidth, free or burned. Staking itself is compared with renting in freeze TRX or rent energy.
- Delegating energy costs the delegator no energy. The address that passes energy to you pays only about 280 bandwidth for the operation, and the same again to take it back. A TRC-10 token is a system asset too, so it moves like TRX; USDT is a TRC-20 smart contract.
Why contract calls differ so much
A contract call costs the sum of the instructions it runs. Writing data is the expensive part. A USDT transfer to a holder updates two balances; a transfer to an address with no USDT also creates a new balance record, and that is the whole difference between 64,285 and 130,285 (see why sending to a new address costs more). An approve writes an allowance record. A swap runs the router, the trading pair and two token contracts in one transaction.
The two TRX-to-USDT swaps differ by exactly 66,000 energy, the same gap as between the two kinds of USDT transfer. That points to the second recipient having no USDT before the swap; the receipt does not show the earlier balance, so treat it as likely, not proven.
Dynamic energy and energy_factor
The second reason is the dynamic energy model. Each contract has an energy_factor that the network raises when the contract is heavily used and lowers when it is not (TIP-491, paying for resources). The rules, with chain parameters as of Oct 19, 2026:
- a contract that used more than 5,000,000,000 energy in a maintenance period (
getDynamicEnergyThreshold) gets a higher factor in the next one; - each such period multiplies the contract’s cost multiplier (1 + factor) by 1.2 (
getDynamicEnergyIncreaseFactor= 2,000, in units of 1/10,000); - a quiet period lowers it by a quarter of that step: the multiplier is multiplied by 0.95;
- the cap is 34,000 (
getDynamicEnergyMaxFactor), which means the contract’s own instructions cost up to 4.4 times their base price; - a maintenance period lasts 6 hours (
getMaintenanceTimeInterval= 21,600,000 ms).
Here is what the contract state looked like on Oct 19, 2026, between 05:12 and 05:25 UTC (getcontractinfo in the TronGrid API):
| Contract | energy_factor | Energy counted in the current period |
|---|---|---|
| USDT (TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t) | 34,000, the cap | 6,022,947,503 |
| SunSwap V2 router (TKzxdSv2FZKQrEqkKVgp5DcwEXBEKMg2Ax) | 0 | 397,480 |
The surcharge is charged contract by contract, and every receipt shows it in energy_penalty_total. For a USDT transfer to a holder it is 49,635 of the 64,285. For the approve it is 77,076 of 99,764. For the TRX-to-USDT swap it is 52,762 of 157,354: close to the surcharge of one USDT transfer, because the router itself sits at factor 0 and only the USDT part is charged extra.
Our own calculation from these rules, not a documented figure: from 0 a contract reaches the cap after 9 busy periods (about 2.25 days), and falls back to 0 after about 29 quiet ones (over 7 days). USDT had already passed the threshold in the current period, so its factor stays at the cap for now.

How much energy you need: planning by task
Add up the transactions you plan, using the measured figures. Burn costs use 100 SUN per unit of energy as of Oct 19, 2026; if SUN is new to you, see what SUN is and how to convert it.
| What you plan | Energy to have on the address | If burned instead |
|---|---|---|
| Stake, delegate, vote, send TRX | 0 | only bandwidth, about 0.25 to 0.34 TRX if free bandwidth is used up |
| One USDT transfer to a holder | 64,285 (plan 65,000) | 6.43 TRX |
| One USDT transfer to an address with no USDT | 130,285 (plan 131,000) | 13.03 TRX |
| First swap of USDT for TRX: approve, then swap | 99,764 + 190,865 = 290,629 | 29.06 TRX |
| Swap TRX for USDT | 157,354 to 223,354 | 15.74 to 22.34 TRX |
Receipts confirm the burn column: the USDT-to-TRX swap in our table had no energy, and the network burned 16,666,300 SUN (16.67 TRX) for its 166,663 energy.
With rented energy, the same plan is cheaper by the ratio of prices. At the current rate on Nov 12, 2026, 26 SUN per unit of energy for 1 hour, the approve and swap above (290,629 energy) come to 290,629 × 26 = 7,556,354 SUN, or about 7.56 TRX, against 29.06 TRX burned. The rate changes. The exact price is shown in the service before you pay, and reference prices are on the pricing page.

How to check energy before you send
- Look up the transaction type in the table. If it is a system operation, you need bandwidth only.
- For a contract call, get an estimate. Wallets show one before you sign. Developers can call
triggerconstantcontractin the TronGrid API, which returnsenergy_usedfor a simulated call. - Add a margin for USDT. Check whether the recipient already holds USDT; if not, plan for 130,285, not 64,285.
- Compare with what the address has. Your address page in TronScan shows available energy; any shortfall is burned in TRX, within the fee limit.
- Read the receipt afterwards.
energy_usage_totalshows what the call used andenergy_penalty_totalhow much of it was the dynamic surcharge.
For USDT, burning, staking and renting are compared in USDT TRC-20 transfer fee, and what energy is in the first place is explained in what is TRON energy.
FAQ
Does a TRX transfer need energy? No. In our sample, 1,082 TRX transfers used 0 energy and about 265 bandwidth each.
Do I need energy to stake TRX or vote? No. FreezeBalanceV2 and voting are system operations. They use only bandwidth: 255 and 332 units in our examples.
Will these numbers change?
Yes, if a contract’s energy_factor moves or validators change the parameters. As of Oct 19, 2026 USDT is at the cap. More answers are in the FAQ.