Overview
Learn how TRON uses Base58Check encoding to generate wallet addresses. Understand the hex-to-Base58 conversion and why TRON addresses always start with T.
Why TRON addresses use Base58Check encoding
Error Detection Built In: Base58Check includes a 4-byte checksum derived from double SHA256, preventing typos or single-character errors from sending funds to invalid addresses.
Human-Readable Format: Base58 excludes confusing characters (0, O, I, l) making addresses easier to read, compare, and manually transcribe compared to raw hex strings.
Always Starts with T: The 0x41 prefix byte and Base58 encoding math guarantee that every TRON address starts with T. This is mathematically enforced, not arbitrary.
The 0x41 prefix byte forces the T prefix
In TRON Base58Check encoding, the raw address bytes always start with 0x41. Due to the size of this number in Base58 arithmetic, the first Base58 character is always index 26 in the character table, which maps to the letter T.
How Base58Check encodes a TRON address in 4 steps
Step 1 – Prepend 0x41: Take the 20-byte address (last 20 bytes of Keccak-256 pubkey hash) and prepend the TRON version byte 0x41.
Step 2 – Double SHA256: Compute SHA256(SHA256(versioned_address)) to get an 8-byte checksum value.
Step 3 – Append checksum: Take the first 4 bytes of the checksum and append to the versioned address to get 25 bytes total.
Step 4 – Base58 encode: Convert the 25-byte integer to Base58 representation. The result is always exactly 34 characters starting with T.
Related TRON Address Format Guides
- What Is Tron Wallet Address Format?
- TRX Address Examples
- TRC20 Wallet Address Format
- How to Validate a TRON Wallet Address
- TRON Hex Address Format and Conversion
- How to Get a TRC20 Wallet Address
Key Facts About TRON Wallet Address Format
A TRON wallet address in Base58Check format is always exactly 34 characters long and always begins with the capital letter T. This format uses Base58 encoding with a built-in checksum, making it case-sensitive and resistant to typos. The Hex format equivalent starts with 41 and is 42 characters long. TRC20 tokens including USDT on the TRON network use the exact same address format as native TRX, so one wallet address can hold both TRX and any TRC20 token simultaneously.
When validating a TRON address, first confirm it starts with T and contains exactly 34 characters. Use tronWeb.isAddress() for programmatic validation or check on tronscan.org. Never send TRX or TRC20 tokens to an ERC20 address (starting with 0x) as these transactions cannot be reversed on the TRON blockchain.