Address formats
This article specifies the two standard address formats used on TON Blockchain:
- Raw format
- User-friendly format
The format you choose affects security and message processing.
Raw address
The raw address is the canonical, on-chain representation of a smart contract. It is designed for system-level use where precision is crucial, and UX features are not necessary.
Structure
A raw address consists of two components separated by a colon:
- workchain_id: a signed 32-bit integer identifying the WorkChain.
Examples:-1for the MasterChain and0for the BaseChain. - account_id: a 256-bit identifier, represented as 64 hexadecimal characters.
Example:
0:ca6e321c7cce9ecedf0a8ca2492ec8592494aa5fb5ce0387dff96ef6af982a3e
Uppercase letters (A–F) may be used in address strings instead of their lowercase counterparts (a-f).
Limitations
Raw addresses lack built-in safety features, making them unsuitable for general use:
- No error detection: the format includes no checksum.
A single-character mistake can cause irreversible loss of funds. - No metadata: flags like
isBounceableare unsupported, limiting control over message handling.
Due to these limitations, raw addresses should not be exposed to end-users.
User-friendly address
The user-friendly address format is a secure, base64/base64url-encoded wrapper around the raw address. It adds metadata flags and a checksum to prevent common errors and provide greater control over message routing.