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 密钥