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-ключ