Bandwidth and Energy
TRON's two metering resources — Bandwidth for transaction byte size and Energy for smart contract execution — and how to obtain each.
TRON meters on-chain operations through two system resources. Bandwidth covers the byte size of every transaction stored on-chain, so it scales with how big the transaction is. Energy covers smart contract execution, so it scales with how much computation a contract performs. Both are obtained by staking TRX, both regenerate continuously, and only one of them — Bandwidth — comes with a free daily allowance.
Prerequisites
Quick comparison
| Aspect | Bandwidth | Energy |
|---|---|---|
| Pays for | Transaction byte size | Smart contract execution (TVM instructions) |
| Daily network supply | 43,200,000,000 Bandwidth | 180,000,000,000 Energy |
| Free quota | 600 Bandwidth/day per account | None |
| Obtained by | Staking TRX, or receiving delegated Bandwidth from another account | Staking TRX, or receiving delegated Energy from another account |
| Recovery | 24-hour rolling cycle | 24-hour rolling cycle |
When stake plus the free quota are insufficient, TRX is burned to cover the shortfall. The burn rates and the deployer Energy sharing mechanism are covered in Paying for resources & Energy sharing.
Bandwidth
Every transaction on TRON except read-only queries consumes Bandwidth. A transaction's Bandwidth consumption equals its byte size on-chain — one byte uses one Bandwidth. Each external account receives 600 free Bandwidth per day, refreshed on a rolling 24-hour cycle and available immediately after the account is activated.
For higher throughput, accounts stake TRX for Bandwidth. The network's daily Bandwidth supply is fixed at 43,200,000,000 Bandwidth and distributed proportionally to staked balances:
Bandwidth obtained
= (your TRX staked for Bandwidth / total TRX staked for Bandwidth network-wide)
× 43_200_000_000
Query the network-wide total via wallet/getaccountresource.
Energy
Smart contract execution on TRON consumes Energy. Each TRON Virtual Machine (TVM) instruction has a fixed Energy cost, and a contract call's total Energy consumption equals the sum of those costs. Unlike Bandwidth, Energy has no free quota — every account that calls a smart contract must either have staked Energy in advance, receive delegated Energy, or rely on the TRX-burn fallback.
The network's daily Energy supply is 180,000,000,000 Energy, distributed proportionally to stake:
Energy obtained
= (your TRX staked for Energy / total TRX staked for Energy network-wide)
× 180_000_000_000
Staking TRX for resources
Send a FreezeBalanceV2Contract transaction to stake TRX for either resource. Build the unsigned transaction with the wallet/freezebalancev2 HTTP API:
BASE_URL=https://api.shasta.trongrid.io # example — replace with any TRON node (TronGrid, third-party, or self-hosted)
curl -X POST ${BASE_URL}/wallet/freezebalancev2 \
-H "Content-Type: application/json" \
-d '{
"owner_address": "TBRmnXKMEVfQ8XeQA2NroC9cGi77TvPbNb",
"frozen_balance": 1000000,
"resource": "BANDWIDTH",
"visible": true
}'
The fields:
owner_address— the staking account, in Base58Check (visible: true) or hex.frozen_balance— amount in sun (1,000,000 sun = 1 TRX).resource—"BANDWIDTH"or"ENERGY". Set to"ENERGY"to stake for Energy instead.
The response is an unsigned transaction. Sign it with the owner's private key and broadcast via wallet/broadcasttransaction. For the end-to-end build / sign / broadcast pattern, see the Stake & Delegate Resources recipe.
Staking is reversible. To recover the underlying TRX, send UnfreezeBalanceV2Contract to start a 14-day waiting period, then WithdrawExpireUnfreezeContract to claim the unstaked TRX. For the full lifecycle, see Staking on the TRON network.
Delegating resources
An account can delegate its earned Bandwidth or Energy to another account through DelegateResourceContract. The receiving account uses the delegated resource directly without staking itself. Delegation is reversible and supports an optional lock period for added safety. CEXs and DApp operators commonly use this mechanism to absorb resource costs on behalf of their users from a single staking pool.
In practice, Energy delegation is more common than Bandwidth delegation — Bandwidth's free 600/day quota covers most everyday accounts, while Energy has no free tier and contract calls quickly exhaust untouched accounts.
Recovery cycle
Both Bandwidth (from staking and the free quota) and Energy from staking recover continuously over a 24-hour rolling cycle. If the full allotment is consumed at once, the same allotment becomes available 24 hours later regardless of activity in between.
Related resources
- Resource Model — Three-resource overview, including TRON Power
- Paying for resources & Energy sharing — Burn rates, charging order, deployer Energy sharing,
fee_limit, dynamic Energy - Staking on the TRON network — Stake, unstake, withdraw, delegate
wallet/getaccountresource— Query an account's Bandwidth, Energy, and TP
Updated 7 days ago