Token standards overview

TRON supports four token standards — TRC-10 (protocol-level), TRC-20 (fungible, TVM-based), TRC-721 (non-fungible), and TRC-1155 (multi-token).

📘

Prerequisites

TRON provides comprehensive support for most VM-level token standards. This guide covers four representative standards — TRC-10, TRC-20, TRC-721, TRC-1155 — to explain how TRON handles diverse use cases, from simple fungible tokens to complex multi-token systems. This page summarizes each standard so you can pick the right one for your project, then links to the dedicated documentation for hands-on work.

📘

TRX is documented separately.

TRX is the native token of the TRON network, not a token standard. See TRX — the native token for what TRX is, how it is minted and burned, and how to transfer and query it.

TRC-10 — protocol-level token

TRC-10 is a native token standard supported directly at the TRON protocol level — it does not use the TVM. Any account can issue one TRC-10 token by paying a 1,024 TRX creation fee.

🚧

Note

For new fungible token projects, use TRC-20 instead. TRC-10 is kept for compatibility with existing tokens but is not recommended for new development.

For details on issuing, transferring, and querying TRC-10 tokens, see TRC-10.

TRC-20 — fungible tokens (recommended)

TRC-20 is the fungible token standard on TRON. It runs inside the TRON Virtual Machine (TVM) and is fully compatible with Ethereum's ERC-20 at the interface level — most ERC-20 contracts compile and run on TRON without modification.

TRC-20 is the recommended standard for new fungible token projects. It offers richer programmability than TRC-10, integrates cleanly with the TRON DeFi ecosystem (DEXes, lending protocols, stablecoins), and works across EVM-compatible chains with the same contract code.

For the standard reference, contract examples, and deployment walkthroughs, see TRC-20.

TRC-721 — non-fungible tokens

TRC-721 is the non-fungible token (NFT) standard on TRON. It defines the common interface every NFT contract must expose — balance queries, ownership lookups, transfers, and approval management — so wallets, marketplaces, and explorers can interact with any TRC-721 contract without custom integration.

TRC-721 is fully compatible with the Ethereum ERC-721 standard at the interface level. The main TRON-specific difference is the receiver-hook return value (0x5175f878 instead of Ethereum's 0x150b7a02).

For the standard reference and reference implementation, see TRC-721.

TRC-1155 — multi-token

TRC-1155 lets a single contract manage many fungible, non-fungible, and semi-fungible tokens at once, with batch operations for transfers and approvals. It is well suited for in-game assets, where some items are unique and others are stackable.

TRC-1155 is fully compatible with the Ethereum ERC-1155 standard, including the receive-hook selectors (0xf23a6e61 and 0xbc197c81), so ERC-1155 contracts port to TRON without changing the receiver hook return values.

For the standard reference, see TRC-1155.

Choosing a standard

Use caseRecommended standard
Maintaining an existing TRC-10 tokenTRC-10
New fungible tokenTRC-20
Non-fungible tokens (NFTs)TRC-721
Mixed fungible / non-fungible (e.g., game items)TRC-1155

For native value, fees, and staking, use TRX (the native token, not a token standard).


Related resources