TRX
TRX is the native token of the TRON network — used for fees, staking, voting rewards, and as the primary unit of value across the TRON DeFi ecosystem.
Prerequisites
TRX is the native token of the TRON network. Rewards on the TRON network are issued in the form of TRX, users obtain network resources and voting rights by staking TRX, and across the TRON DeFi ecosystem TRX is widely used as collateral, liquidity, and the unit of account for fees.
How TRX powers the TRON network
The TRON network allows developers to create decentralized applications (DApps) that share limited TRON network resources. TRON therefore needs a mechanism to prevent DApps from accidentally or maliciously occupying all network resources.
Resource consumption is measured in Bandwidth and Energy — Bandwidth measures the size of transactions stored in the blockchain database, and Energy measures the computing power required by the TRON Virtual Machine (TVM) to execute a specific operation. When users make a transaction, they need to pay for the Bandwidth and Energy required to execute the transaction. TRON supports paying for Bandwidth and Energy by burning TRX.
This means that even if a malicious DApp submits an infinite loop, the transaction eventually runs out of TRX and terminates, allowing the network to return to normal.
Staking TRX
By staking TRX, users obtain TRON Power (TP) and either Bandwidth or Energy. TRON Power is used to vote for Super Representatives (SRs), and stakers share in voting rewards based on the SRs they vote for.
The complete staking lifecycle is Stake → Unstake → Withdraw: stake TRX to obtain resources and TRON Power, begin unstaking when you want the TRX back (which starts a 14-day waiting period), and withdraw the liquid TRX once the wait completes.
For the full mechanics, see Staking on TRON.
Minting TRX
Minting is the process by which new TRX gets created on the TRON network. The underlying TRON protocol creates the new TRX — it is not possible for a user to create TRX directly.
TRX is minted when a Super Representative (SR) produces a block on the TRON network. For each new block, the TRON protocol generates a block production reward of 8 TRX and a voting reward of 128 TRX. Both rewards are dynamic parameters and can be modified through committee proposals.
Burning TRX
TRX can be destroyed by a process called "burning". Burned TRX is removed from circulation permanently.
Every transaction on TRON consumes Bandwidth or Energy. When a user's available Bandwidth or available Energy is insufficient, they burn TRX to pay for the resources required for the transaction. Burning TRX both reduces TRX inflation and prevents accidental or malicious transactions from monopolizing network resources.
Denominations
TRX has a smaller denomination called sun for representing tiny amounts. Most smart contract and API interactions are calculated in sun.
| Unit | Value | Where used |
|---|---|---|
| TRX | 1 TRX | Human-facing amounts |
| sun | 1 TRX = 1,000,000 sun | Smart contract / API computation |
sun vs SUNThe TRX subunit is always lowercase
sun. UppercaseSUNrefers to a completely different asset — the SUN.io TRC-20 governance token. These two are unrelated; cross-check every occurrence before shipping code or copy.
Transferring TRX
A TRX transfer is a TransferContract transaction that moves TRX from one account to another. Below are examples using the HTTP API and the TronWeb SDK.
Using the HTTP API
The Fullnode HTTP endpoint wallet/createtransaction creates an unsigned TRX transfer transaction:
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/createtransaction -d '{
"to_address": "TVDGpn4hCSzJ5nkHPLetk8KQBtwaTppnkr",
"owner_address": "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR",
"amount": 10000000,
"visible": true
}'After receiving the unsigned transaction, sign it with the owner's private key and broadcast it to complete the transfer.
Using the TronWeb SDK
const privateKey = "...";
const fromAddress = "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR";
const toAddress = "TVDGpn4hCSzJ5nkHPLetk8KQBtwaTppnkr";
const amount = 10000000; // amount in sun (10 TRX)
// Create an unsigned TRX transfer transaction
const tradeobj = await tronWeb.transactionBuilder.sendTrx(
toAddress,
amount,
fromAddress
);
// Sign
const signedtxn = await tronWeb.trx.sign(tradeobj, privateKey);
// Broadcast
const receipt = await tronWeb.trx.sendRawTransaction(signedtxn);
console.log('Receipt:', receipt);Querying TRX balance
Using the HTTP API
The Fullnode HTTP endpoint wallet/getaccount returns account information; the balance field is the TRX balance, in sun:
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/getaccount -d '{
"address": "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR",
"visible": true
}'Using the TronWeb SDK
const address = "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR";
// getAccount returns the account info; balance is in sun
const account = await tronWeb.trx.getAccount(address);
console.log('Balance in sun:', account.balance);Related resources
- Resource model — Bandwidth, Energy, and how staking works
- Staking on TRON — staking lifecycle and voting rewards
- Transferring TRX in smart contracts — Solidity-level TRX transfer patterns
- TRC-20 — the fungible token standard built on top of the TRON Virtual Machine
- Token standards overview
Updated 18 days ago