TRC20 Address: Format, Contract vs. Wallet, and Getting One via API
Why TRON addresses start with T, how a TRC20 contract address differs from a wallet address, and how to create and monitor TRC20 deposit addresses over REST.
A TRC20 address is the account identifier for TRX and TRC-20 tokens such as USDT on the TRON blockchain — a Base58Check string that starts with the letter T. Whether you're building a checkout that accepts USDT-TRC20 or just trying to tell a wallet address apart from a contract address, this page covers the format and how to generate and watch TRC20 addresses over an API. For the full technical breakdown of the hex-vs-Base58 forms, see the TRC20 address guide on the blog.
What is a TRC20 address, and what is a tron address in general?
Every TRON account, TRC20 or otherwise, has one address, written in two equivalent forms: a Base58Check string starting with T (the form users see, e.g. TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t), and a hex form starting with 41 used internally by TVM, TRON's smart-contract engine. A tron address isn't specific to one token — the same address holds TRX, every TRC-10 token and every TRC-20 token the account has interacted with, because TRC-20 balances live in each token's contract, keyed by address, rather than in the address itself.
Contract address vs. wallet address
Two different things share the same T... format on TRON, and mixing them up is a common integration bug. A wallet address belongs to a user or your own hot wallet and can send and receive. A trc20 contract address — like USDT's TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t — identifies the smart contract that defines a specific token and tracks everyone's balance of it; you never send funds to it directly as a deposit target, you reference it as a parameter when calling a transfer. When an integration asks for a "tron trc20 contract address", it means the second kind — the token identifier, not a destination.
TRC10 vs. TRC20: two different token standards
TRC10 tokens are native protocol assets — no smart contract executes when they move, so a transfer costs only Bandwidth. TRC20 tokens live in a smart contract, mirror the ERC-20 interface conceptually, and additionally consume Energy on every transfer because the contract runs code to update its balance table. USDT and nearly every commercially relevant TRON token is TRC20. The TRC10 vs TRC20 comparison covers the mechanical and cost differences in depth if you're deciding which standard to issue a new token on — relevant if you're planning to create a TRC20 token of your own rather than just accept existing ones.
TRON is not EVM: why "tron evm" is the wrong search
TRON's smart-contract engine, TVM, is built to be broadly compatible with Solidity contracts written for Ethereum's EVM, which is why Solidity code often deploys to TRON with little modification. But TVM is its own runtime, not EVM itself — opcodes, gas-equivalent resource metering (Energy and Bandwidth instead of gas) and address encoding (Base58Check T-addresses instead of 0x) all differ. "TRON EVM" as a literal claim is inaccurate; "EVM-compatible in practice for many contracts" is the accurate version.
Create and watch a TRC20 address over REST
| Endpoint | What it does |
|---|---|
POST /api/v2/tron/addresses | Generate a new TRON address |
POST /api/v2/tron/addresses/import | Import a private key so the API can sign for that address |
POST /api/v2/tron/webhooks | Register a webhook for TRX, TRC-10 or TRC-20 deposits to the address |
POST /api/v2/tron/transactions/trc20 | Send a TRC-20 token such as USDT from the address |
That covers how to get a TRC20 wallet address programmatically at whatever volume your integration needs, without generating addresses by hand in a wallet app and copying them into a database.
Building a checkout or exchange backend that needs TRC20 addresses at scale? Create a free account and generate a batch in testnet — 7-day trial, no card, no KYC.
FAQ: TRC20 addresses
Ready to integrate TRON?
Create an account and generate a testnet TRC20 address today — 7-day trial, no card, no KYC. Full endpoint reference in the TRON API docs, or cover all seven chains with the multi-chain blockchain API.