TRON Address Format: Why It Starts with T (34 Characters)
How a TRON (TRX) address is built from a private key, why it starts with T, which characters are allowed in base58, the hex 41… form, and how to validate an address.
A TRON mainnet address looks like TMVQGm1qAQYVdetCeGRRkTWYYrLXuHK2HC: 34 characters, always starting with T, using a 58-character alphabet. Here is where every part of it comes from.
From private key to TRON address
- Private key — a random 256-bit number, usually shown as 64 hex characters.
- Public key — computed from the private key on the secp256k1 elliptic curve (the same curve Bitcoin and Ethereum use). The uncompressed form is 64 bytes after the
04prefix. - Keccak-256 hash of the public key — 32 bytes. The last 20 bytes are the account identifier (the same as an Ethereum address).
- Version byte — TRON prepends
0x41, giving 21 bytes. In hex this is the41…form you sometimes see in APIs. - Base58check — a 4-byte checksum (from double SHA-256) is appended and the 25 bytes are encoded in base58, producing the
T…string.
Because of step 4, every mainnet address starts with T, and the second character is a capital letter A–Z (a 9 only as T9y…/T9z…).
Which characters are allowed?
Base58 uses digits and letters but removes the four that are easy to confuse:
| Excluded | Why |
|---|---|
0 (zero) | looks like O |
O (capital o) | looks like 0 |
I (capital i) | looks like l |
l (lowercase L) | looks like I |
This is why a vanity address can say …Tron or …Money but never …TRON or …MONEY — the capital O does not exist. Addresses are case-sensitive: …USDT and …usdt are different addresses.
Base58 and hex: two views of the same address
| Form | Example | Where you see it |
|---|---|---|
| Base58 | TMVQGm1qAQYVdetCeGRRkTWYYrLXuHK2HC | wallets, explorers, exchanges |
| Hex | 417e5f4552091a69125d5dfcb7b8c2659029395bdf | node APIs, smart contracts |
Both describe the same account; tools convert between them freely. Without the 41 prefix, the 20 bytes are exactly the Ethereum-style address of the same key.
How to validate a TRON address
- It must be 34 characters, start with
T, and contain only base58 characters. - The checksum must match: decode base58, split off the last 4 bytes, and compare them with the first 4 bytes of SHA-256(SHA-256(first 21 bytes)). Most wallets do this automatically and reject typos.
- The first decoded byte must be
0x41.
A checksum protects against typos, not against scams: an attacker's lookalike address is perfectly valid. Always compare the full address — see address poisoning.
What this means for vanity addresses
- Patterns right after
Tmust start withA–Z(a9only works asT9y…/T9z…) —T8888…andT9999…are impossible,TTTTT…is fine. - Words must avoid
0,O,Iandl. - Each matching character is a 1-in-58 event, so rarity grows fast — see what is a TRON vanity address.
FAQ
How many characters is a TRON address?
34 characters in base58 form, or 42 hex characters (21 bytes) in hex form.
Why do TRON addresses start with T?
TRON adds the version byte 0x41 before base58 encoding, and every 21-byte value starting with 0x41 encodes to a string beginning with T.
Is a TRON address the same as an Ethereum address?
The underlying 20 bytes are computed the same way from the same key, but the encoding differs: Ethereum uses 0x + hex, TRON uses 41 + base58check. You must never send funds across networks just because the bytes match.
Are TRON addresses case-sensitive?
Yes. Base58 distinguishes upper and lower case, and changing the case of any character produces a different (usually invalid) address.