Skip to main content

Addresses

Every account, including wallets and smart contracts, is represented by an address, used for all on-chain interactions.

Components

A TON address is a composite identifier consisting of two main components:

  • WorkChain ID: identifies a specific WorkChain (for example, MasterChain is -1, and BaseChain is 0).
  • Account ID: a unique identifier for a contract within its WorkChain. It is derived from the hash of the contract’s initial state, which includes the code and data.

For detailed technical specifications, see the Addresses documentation.

Status

Every address on the TON Blockchain exists in one of four statuses, reflecting its lifecycle and operational condition.

Three of them are derived from its account state:

  • uninit
  • active
  • frozen

The fourth is nonexist, a special status used when the account does not exist at all.

The status defines the account’s capabilities and is fundamental to transaction processing. Further details are available in the address states documentation.

Formats

TON addresses are represented in two formats:

  • Raw format: a direct representation of WorkChain ID and Account ID (e.g., -1:fcb...260). Intended for system-level use.
  • User-friendly format: a base64-encoded version of the raw address that includes flags and a checksum. Designed for user interfaces, this format enhances security and prevents errors.

These formats are not interchangeable. The user-friendly format includes critical metadata, such as the bounceable flag, which determines message-handling behavior for uninitialized accounts.

A bounceable message sent to an address in nonexist, uninit or frozen status is returned to the sender. In contrast, a non-bounceable message will be credited to the account.

For a detailed breakdown of address structures, encoding, and flags, refer to the address formats documentation.

See also

Was this article useful?