TRC-20 vs TRC-10: TRON Token Standards Compared
USDT on TRON is TRC-20, not TRC-10 — but both standards coexist on the same blockchain. TRC-10 is TRON's older, simpler native asset format; TRC-20 is the smart-contract standard that powers modern DeFi and stablecoins.
At a glance
| Feature | TRC-10 | TRC-20 |
|---|---|---|
| Type | Native TRON asset | Smart contract |
| Deployment | Issue via wallet/API | Deploy contract code |
| Cost to create | ~1024 TRX (historical) | Higher (contract + energy) |
| Custom logic | No | Yes (approve, burn, mint rules) |
approve / DeFi | No | Yes |
| USDT | No | Yes (TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t) |
| Wallet support | Broad | Broad |
What is TRC-10?
TRC-10 tokens are built into TRON's core protocol. Issuers create them through TRON's asset issuance system — no custom Solidity code required. Each TRC-10 token has a numeric token ID (e.g., 1002000) in addition to a name and symbol.
Characteristics:
- Transfers use mostly bandwidth, less energy than TRC-20
- No
approvefunction — unsuitable for Uniswap-style DEX patterns - Simpler for airdrops and basic utility tokens
- Some legacy projects (early BTT distribution models) used TRC-10
TRC-10 is fine for simple value transfer but limited for programmable finance.
What is TRC-20?
TRC-20 tokens are smart contracts on the TVM. They implement a standard interface compatible with ERC-20 patterns — transfer, balanceOf, approve, transferFrom, and allowance mappings.
This enables:
- Decentralized exchanges and liquidity pools
- Lending protocols
- Token approvals for third-party spenders
- Complex supply rules (mint/burn/pause)
USDT, USDC, and USDD on TRON are all TRC-20. Learn more: what is TRC-20.
Fee differences
| Transfer type | Resource usage | Typical cost |
|---|---|---|
| TRC-10 send | Mostly bandwidth | Often free with daily bandwidth |
| TRC-20 send | Bandwidth + energy | TRX burn or frozen energy |
| TRX send | Bandwidth | Often free |
TRC-20 USDT transfers consume ~65,000 Energy. TRC-10 transfers are lighter. For high-frequency micro-transfers of simple tokens, TRC-10 can be cheaper — but stablecoins standardized on TRC-20.
Details: TRC-20 transfer fees.
DeFi and exchange support
Modern TRON DeFi almost exclusively uses TRC-20:
- SunSwap, JustLend, and similar protocols expect
approve+transferFrom - Exchanges list USDT as TRC-20 with contract verification
- Portfolio trackers read TRC-20 contract events
TRC-10 remains supported on TronScan and basic wallets but is rare for new listings.
Creating tokens: which to pick?
| Goal | Recommendation |
|---|---|
| Simple community token, no DeFi | TRC-10 may suffice |
| DEX listing, DeFi integration | TRC-20 |
| Stablecoin or audited asset | TRC-20 (industry standard) |
Developer guide: create TRC-20 token.
approve is a hard blocker. Start with TRC-20.Identification on TronScan
- TRC-20 — shows contract address (
T...or base58 contract format) - TRC-10 — shows token ID and issuer account
When verifying USDT, confirm the TRC-20 contract:
TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
Guide: verify USDT TRC-20 contract.
Migration and bridges
Some projects migrated from TRC-10 to TRC-20 by issuing a new contract and offering swap portals. There is no universal TRON protocol button to "upgrade" TRC-10 to TRC-20 — each project handles migration independently.
User practical advice
For everyday USDT users, only TRC-20 matters. If someone mentions "TRON USDT," they mean TRC-20 unless explicitly discussing legacy infrastructure.
If you receive an unknown token labeled TRC-10, research the issuer before trading — low-liquidity assets can be worthless or scams.
Browse major assets: TRC-20 token list.
Wallet display differences
Wallets surface TRC-10 and TRC-20 differently:
| UI element | TRC-10 | TRC-20 |
|---|---|---|
| Identifier | Token ID number | Contract address |
| TronScan tab | TRC-10 transfers | TRC-20 transfers |
| Custom import | ID + name | Contract address |
If a token appears twice with similar names, check whether one is TRC-10 legacy and one is TRC-20 — they are not fungible with each other.
Historical context
TRC-10 predates widespread TVM DeFi on TRON. Early ecosystem projects issued native assets before smart-contract tokens became standard. As SunSwap and lending protocols matured, TRC-20 became the default for anything touching approve / transferFrom patterns.
New issuers should assume TRC-20 unless they have a specific reason to avoid smart contracts — and understand that major exchanges will ask for a contract address, not a TRC-10 ID, for USDT-grade assets.
Airdrop hygiene
Unsolicited TRC-10 and TRC-20 drops are common:
- Do not visit websites printed in token metadata.
- Do not approve spending rights to "sell" dust.
- Hide scam tokens in wallet UI after verifying they are not official USDT (
TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t).
TRC-10 airdrops cost scammers less to distribute but carry the same phishing risk as TRC-20 dusting attacks.
FAQ
Does USDT use TRC-10 or TRC-20?
USDT on TRON uses TRC-20. The official contract is TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t.
Can I convert TRC-10 to TRC-20?
Not directly at the protocol level. Conversion requires a project-specific bridge or swap if the issuer supports it.
Thanks — your feedback helps us improve the docs.