
TRON bandwidth is the network’s measure of how many bytes of data your transaction writes to the blockchain. Every 1 byte of on-chain data written consumes 1 bandwidth point. Every activated account receives 600 free bandwidth points every 24 hours; once the free quota plus any bandwidth you have staked are used up, TRON will burn your TRX at a fixed rate of 0.001 TRX per byte.
That is the short version. Next, I’ll walk through how bandwidth is billed, the real byte cost of each transaction type, what the free quota buys, the burn math, and four ways to get more bandwidth. I’ll also provide a staking formula you can plug straight into capacity planning. All data was verified on TRON mainnet on September 9, 2026, at block 86,084,282.
Bandwidth is one of TRON’s three system resources; the other two are TRON energy (Energy, which meters the computation a smart contract needs to run) and TRON Power (voting weight). Bandwidth’s job is simple: it keeps count of how much space a transaction takes up once it is serialized, broadcast, and stored by every node in the network.
Three properties define it:
This design has a very practical consequence: plan your resources ahead and you can usually transact at zero cost; skip the preparation and your worst-case fee can still be calculated with precision. Block space on TRON is allocated by 27 Super Representatives, not auctioned. Its scarce resource is mainly the cumulative cost of every node storing your transaction data forever, and bytes are the unit that measures that cost. As a result, fees are predictable and do not spike when network demand surges.
This is the part most guides get wrong, and it changes how you should manage resources. TRON does not burn your free quota first:
Why it matters: when you stake for bandwidth, your account keeps its original 600-point free quota in reserve. The network spends your staked bandwidth first and only turns to the free quota once that runs out. Put simply, a staked account carries two layers of resource protection.
TRON energy follows the same layered-quota mechanism for smart contracts, but with one extra participant: the contract deployer. A contract’s consume_user_resource_percent parameter sets how the energy bill is shared: part is borne by the transaction caller, and the rest is offset by the deployer’s own staked energy. Bandwidth has no such sharing mechanism. The bandwidth bill is always paid by the transaction sender — with one exception: someone else can stake for bandwidth and cover the cost on your behalf (Section 7).
Rather than quote documentation, I measured this. I pulled six consecutive mainnet blocks (86,084,277–86,084,282) and read the net_usage field from each transaction’s receipt — the bandwidth the network actually charged.
| Transaction | Contract type | Bandwidth (bytes) | Range | Sample |
| Send TRX | TransferContract | 265 | 257 – 275 | 586 |
| Send a TRC-10 token | TransferAssetContract | 281 | 280 – 283 | 321 |
| Send USDT (TRC-20) | TriggerSmartContract | 345 | 338 – 412 | 204 |
| Delegate resources | DelegateResourceContract | 281 | 276 – 287 | 369 |
| Undelegate resources | UnDelegateResourceContract | 282 | 278 – 292 | 421 |
| Create a new account | AccountCreateContract | 268 | 268 | 3 |
| Vote for Super Representatives | VoteWitnessContract | 271 | 271 | 1 |
Three things I would flag:
The number in the API is not the number you pay. For a plain TRX transfer, raw_data_hex is about 131 bytes, but the network charges 265. The on-chain count includes the full envelope — block references, timestamp, expiration, contract payload, and the 65-byte signature. Always budget from net_usage.
Multi-signature costs more, predictably. Every additional signature adds roughly 65 bytes, so a 2-of-3 multi-sig transfer costs materially more. For a corporate treasury, this compounds across every transaction.
TRC-20 bandwidth varies. USDT transfers clustered at 345 bytes but ranged to 412, because contract calls carry a variable data payload.
The formula behind it all couldn’t be simpler:
Bandwidth consumed (points) = serialized size of the transaction (bytes)
Every activated account gets 600 free bandwidth points per 24-hour cycle (chain parameter #61, getFreeNetLimit — confirmed live today). Here is what that buys at the byte costs I measured:
| Activity | Bandwidth each | Free transactions per day |
| Send TRX | 265 | 2.26 |
| Send a TRC-10 token | 281 | 2.13 |
| Send USDT (TRC-20) | 345 | 1.74 |
| Vote for Super Representatives | 271 | 2.21 |
Free transactions per day = 600 ÷ bandwidth cost per transaction
The quota has been cut twice, which is why old articles are wrong:
| Period | Daily free bandwidth | Note |
| Before September 2021 | 5,000 | Original default |
| September 2021 – mid-2023 | 1,500 | Reduced to curb spam TRC-10 airdrops |
| Mid-2023 – today | 600 | At the time, over 75% of TRX transfers were under 0.1 TRX |
The 2023 reduction was justified with on-chain data: roughly 75.34% of TRX transfers over the prior three months moved less than 0.1 TRX. The governance discussion modelled the impact at about 2.24 free TRX transfers or 1.74 free TRC-20 transfers per day — my measurement of 2.26 and 1.74 matches it almost exactly.
How it recovers. Bandwidth and energy obtained by staking recover gradually over a rolling 24-hour window. If you exhaust your quota in one go, it will fully replenish after 24 hours under normal circumstances. It does not reset at midnight, and unused quota will not expire automatically.
Note: TRON accounts only get free bandwidth daily. There is no free energy.
When layers 1 and 2 are exhausted, TRON burns TRX from the sender’s balance at chain parameter #3 (getTransactionFee), currently 1,000 sun per byte.
Using measured byte sizes and TRX at approximately $0.34:
| Scenario | Shortfall | TRX burned | Approx. USD |
| One TRX transfer, quota empty | 265 | 0.265 TRX | ~$0.09 |
| One USDT transfer, quota empty | 345 | 0.345 TRX | ~$0.12 |
| 10 TRX transfers, quota empty | 2,650 | 2.65 TRX | ~$0.90 |
Two details worth internalizing:
A failed transaction still consumes bandwidth. If a contract call reverts, the bytes were still broadcast and stored. This is the most common source of “my balance is draining but nothing is happening.”
Bandwidth is charged even when you have energy. A USDT transfer consumes both — roughly 345 bandwidth and about 64,285 energy. Having plenty of tron energy does not reduce your bandwidth bill by a single byte.
Plenty of people dig into bandwidth hoping to fix high USDT transfer fees. I’ll give you the conclusion up front: that road leads nowhere, because the cost structure is completely lopsided. Below is the full cost of one USDT (TRC-20) transfer with no resources prepared (calculated at live parameters):
| Recipient wallet | Bandwidth (0.001 TRX) | TRON energy (0.0001 TRX) | Total | Bandwidth share |
| Already holds USDT | 345 → 0.345 TRX | 64,285 → 6.429 TRX | 6.77 TRX | 5.1% |
| First time holding USDT | 345 → 0.345 TRX | 130,285 → 13.029 TRX | 13.37 TRX | 2.6% |
Bandwidth is the cheap resource; tron energy is the expensive one. Optimizing bandwidth alone trims only about 5% off your USDT transfer cost. That is why the resource-rental market is mostly an energy-rental business: many so-called “bandwidth rental” products actually provide delegated energy paid on your behalf.
Two notes on the energy side. The 100 sun price is recent — it was cut from 210 sun in August 2025 by governance proposal #104, which roughly halved TRX-denominated contract fees. And a dynamic energy mechanism is currently enabled: contracts whose recent consumption exceeds 5,000,000,000 energy carry an energy_factor that steps up to a cap of 3.4, making their effective cost up to 4.4× the base consumption (final usage = base × (1 + energy_factor)). High-traffic stablecoin contracts are the ones exposed. Bandwidth has no multiplier — one byte is always one byte.
Two free TRX transfers a day, every day, is 60+ free transfers a month. Check your quota before you transact, and spread batch jobs across days instead of forcing 20 transfers into one window.
In a wallet such as TronLink: open Stake / Freeze → choose Bandwidth → enter the amount (minimum 1 TRX) → confirm. Bandwidth is available immediately. To release it later, unfreeze and wait out the 14-day delay (parameter #70) before withdrawing.
What staking gives you beyond per-transaction payment:
Any account that has staked TRX can use the DelegateResourceContract to grant bandwidth to other accounts. The receiving side doesn’t need to stake any TRX, and no private key ever changes hands — the grant is completed directly at the blockchain protocol level. Exchanges and payment processors rely on exactly this method to cover user costs from a single pool, and every “energy rental” service on the market runs on the same mechanism underneath.
Field experience keeps teaching us the same lesson: bandwidth costs far less than TRON energy, so most resource-delegation services on the market are energy-rental products. When our Tronsell.io team provisions on-chain resources for clients, we find that what they need is almost always energy for making USDT transfers. Bandwidth needs, in practice, can generally be met by the daily free quota plus a small stake. For example, staking just 215 TRX is enough to cover the bandwidth consumed by a full day of USDT transfers.
Batch where the contract allows it; avoid unnecessary multi-signature (each extra signature adds ~65 bytes); keep notes out of routine transfers; diagnose failures before resubmitting; and schedule around your rolling window rather than bursting.
This is where I see the most bad arithmetic online, usually from guides quoting a stale “1 TRX ≈ 1,000 bandwidth.” There is no fixed rate — your bandwidth is your share of network-wide staking at that moment.
Live network totals from wallet/getaccountresource today:
| Network figure | Value (2026-09-09) |
| Total daily bandwidth supply (TotalNetLimit) | 43,200,000,000 |
| Total TRX staked for bandwidth (TotalNetWeight) | 26,870,495,970 TRX |
| Bandwidth per staked TRX | ≈ 1.61 |
| Total daily energy supply (TotalEnergyLimit) | 180,000,000,000 |
| Total TRX staked for energy (TotalEnergyWeight) | 18,765,111,080 TRX |
| TRON energy per staked TRX | ≈ 9.59 |
So today one staked TRX buys about 1.61 bandwidth points per day (or about 9.59 energy).
| Daily goal | Bandwidth needed/day | TRX to stake | Approx. value at $0.34 |
| 2 TRX transfers | 530 | 330 TRX | ~$112 |
| 5 TRX transfers | 1,325 | 824 TRX | ~$280 |
| 1 USDT transfer (bandwidth only) | 345 | 215 TRX | ~$73 |
| 10 USDT transfers | 3,450 | 2,146 TRX | ~$730 |
The honest comparison. Covering the bandwidth for one USDT transfer per day costs about 215 TRX of stake; covering the energy costs 64,285 ÷ 9.59 ≈ 6,702 TRX. If instead you burn 6.77 TRX per transfer, the stake breaks even after 6,702 ÷ 6.77 ≈ 990 transfers — just under three years at one a day, about three months at ten a day.
But that framing understates staking, because staked TRX is not spent: it stays yours, earns voting rewards, and unlocks in 14 days. The real cost is opportunity cost. Run the arithmetic with your own numbers before locking capital.
Wallets such as TronLink show remaining bandwidth on the account screen, and TronScan’s resources panel shows free and staked bandwidth alongside energy. When I need exact numbers, I query the node:
curl -X POST https://api.trongrid.io/wallet/getaccountresource -H “Content-Type: application/json” -d ‘{“address”: “TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g”, “visible”: true}’
| Field | Meaning |
| freeNetUsed / freeNetLimit | Free daily bandwidth: used / total (600) |
| NetUsed / NetLimit | Bandwidth from your own staked TRX |
| assetNetUsed / assetNetLimit | Per-TRC-10 bandwidth buckets |
| TotalNetLimit / TotalNetWeight | Network supply and total staked TRX (for the formula above) |
To check current prices rather than trusting any article, including this one:
curl -X POST https://api.trongrid.io/wallet/getchainparameters
Look for getTransactionFee (bandwidth price in sun), getEnergyFee, getFreeNetLimit, and getTotalNetLimit.
| Symptom | What is happening | Fix |
| “Insufficient bandwidth” error | Staked pool and free 600 both exhausted | Wait for the rolling window, stake TRX, or get delegated bandwidth |
| Transaction fails with OUT_OF_ENERGY | Contract call exceeded the fee_limit budget; not a bandwidth issue | Raise fee_limit (cap 15,000 TRX) or obtain more energy |
| Balance drops but transactions fail | Failed transactions still consume bandwidth and energy | Diagnose the revert reason before resubmitting |
| First transfer to a new address costs extra | Activation burns 1 TRX, plus 0.1 TRX more if bandwidth is short | Keep a small TRX buffer; activation via contract adds 25,000 energy |
| New wallet cannot send anything | Account was never activated | Send a small amount of TRX to the address first |
| Costs crept up over months | Parameters changed by governance, or network staking shifted your yield | Re-read getchainparameters and getaccountresource |
One more failure mode deserves special attention: when you rent delegated resources from a provider and their pool runs out, your next transaction automatically starts consuming the TRX in your own account. You get no warning and no error message along the way — your balance just quietly drains. So keep an eye on your account balance, not just your resource allowance.
| If you are… | Your bandwidth reality | What I would do |
| An individual sending a few transfers a week | 600 free points is plenty | Use the free quota; keep 5–10 TRX as a buffer |
| A frequent USDT sender | Bandwidth is ~5% of your fee; energy is ~95% | Optimize energy; stake ~215 TRX to make bandwidth a non-issue |
| Running an exchange or payment processor | Thousands of transactions daily | Stake both resources from one pool and delegate to operational wallets; monitor TotalNetWeight monthly |
| A dApp developer | Bandwidth is always the caller’s cost, even if you subsidize energy | Set consume_user_resource_percent = 0 to absorb energy; delegate bandwidth to active users |
| A TRC-10 issuer | Per-token bandwidth buckets apply | Stake TRX for asset bandwidth so holders are not blocked |
What is TRON bandwidth in simple terms?
The unit TRON uses to measure how much data your transaction writes to the blockchain — one byte equals one bandwidth point. Think of it as paying postage by weight rather than distance.
Is bandwidth the same as gas?
No. Gas is a demand-driven price for computation and block space. TRON bandwidth is a fixed quantity — bytes — charged at a fixed rate when you have no quota left. TRON meters computation separately, as energy.
How much free bandwidth do I get, and when does it reset?
600 points per 24-hour cycle, down from 1,500 in 2023 and 5,000 originally. It recovers continuously on a rolling cycle measured from when you spent it — not at midnight.
Do I get free energy too?
No. There is no free quota for tron energy; it comes only from staking, delegation, or burning TRX.
Can I transfer or sell unused bandwidth?
Not directly — bandwidth is not a token. But you can delegate the bandwidth your stake generates to another account, which is how rental services work.
How much bandwidth does one TRX transfer cost?
About 265 bytes, measured across 586 transfers in six live blocks. With an empty quota that burns 0.265 TRX.
How much does a USDT (TRC-20) transfer use?
About 345 bytes — but its real cost is energy: roughly 64,285 to a wallet that already holds USDT, or 130,285 to a first-time recipient. Bandwidth is only about 5% of the fee.
What is the burn rate when I run out?
1,000 sun per byte, or 0.001 TRX per byte (1 TRX = 1,000,000 sun).
Why did my transfer to a new address cost more?
Account activation burns an extra 1 TRX on top of normal bandwidth, plus another 0.1 TRX if the sender’s bandwidth is also short.
Do failed transactions cost bandwidth?
Yes. Bytes are broadcast and stored regardless of outcome, and you pay for what was consumed up to the failure.
In what order does TRON consume bandwidth?
Staked bandwidth first, then the free 600, then TRX burn. Your free quota is a reserve, not the first thing spent.
How do I compute the stake I need?
TRX to stake = required bandwidth ÷ (43,200,000,000 ÷ TotalNetWeight). That divisor is about 1.61 bandwidth per staked TRX today, but it moves — always read TotalNetWeight live.
How long does it take to unstake?
Fourteen days (getUnfreezeDelayDays), then a separate withdraw transaction.
Can a contract pay bandwidth for its users?
Not directly — consume_user_resource_percent only splits energy between caller and deployer. To cover a user’s bandwidth, delegate bandwidth to their address.
Verification & disclosure: Every figure in this article was verified on TRON mainnet on September 9, 2026 — live chain parameters, staking totals, and measured net_usage and energy for 1,900+ transactions across six blocks — and cross-checked against TRON’s official documentation and the governance proposals that changed them. Tronsell operates a TRON resource pool and has a commercial interest in TRON resource markets; everything factual here is reproducible with the two curl commands in Section 9.
Disclaimer: This article is for educational and informational purposes only and does not constitute financial, investment, or legal advice. Cryptocurrency transactions are irreversible and involve risk. TRON network parameters change through on-chain governance, and the figures here were accurate as of September 9, 2026 — verify current values before making decisions. Always test with a small transaction first when using a new wallet, contract, or third-party service.