TON Address Formats — Raw vs User-Friendly Base64url

TON addresses come in two forms: a raw internal form and a user-friendly encoded form that carries extra flags. This reference explains both and what the flags mean.

Raw form

The raw address is written as workchain:hex — the workchain ID, a colon, and a 32-byte account identifier in hexadecimal. The masterchain uses workchain -1 and the basic workchain uses 0. The raw form is unambiguous but carries no checksum or flags.

User-friendly base64url form

The user-friendly form encodes the same address, plus flags and a checksum, into a compact base64url string. This is the form typically shown in wallets and explorers. Because it includes a checksum, it can detect transcription errors that the raw form cannot.

Bounceable, non-bounceable and testnet flags

The friendly form carries flag bits. The bounceable flag controls whether a transfer to a contract that fails or does not exist is returned to the sender: bounceable is typical for contract interactions, non-bounceable is used when sending to a fresh wallet that should keep the funds. A separate testnet flag marks an address as testnet-only so it is not mistaken for mainnet.

常见问题

What is the difference between bounceable and non-bounceable TON addresses?

The flag decides what happens if the destination contract cannot process the message. Bounceable returns the funds to the sender on failure, which suits contract calls. Non-bounceable keeps the funds at the destination, which suits topping up a not-yet-deployed wallet.

Why does TON have both a raw and a friendly address form?

The raw workchain:hex form is the canonical internal identifier. The user-friendly base64url form adds a checksum and flags (bounceable, testnet) so wallets can catch typos and encode intent, which the raw form cannot express.

相关工具

充值、拿密钥、上线。

自助开通。支持加密货币或银行卡。按额度计费——重型原语更贵,简单调用很便宜。

获取 API 密钥