Chains

TON (The Open Network)

The TEP-2 user-friendly form in either base64 alphabet: 36 bytes, a bounceable or non-bounceable tag, one of the two workchains that exist.
create
create("ton")
family
TON · ton
symbol
TON · 9 decimals
bip44
607
caip2
ton:-1
explorer
tonscan.org

Address format

The TEP-2 user-friendly form: 36 bytes in unpadded base64, so exactly 48 characters. Wallets emit the URL-safe alphabet with - and _, the standard one with + and / is in circulation too, and both pass. The first byte is the tag, 0x11 for bounceable (EQ…) or 0x51 for non-bounceable (UQ…). A set testnet flag is rejected the way Bitcoin's testnet versions are. The second byte is the workchain, 0x00 for the basechain or 0xff for the masterchain, the only two that exist.

The CRC16 at the end stays unchecked, this is a format check. The raw workchain:hex form isn't accepted, because wallets and explorers exchange the friendly one.

import { getChain } from "@agntn/chains";

const chain = getChain("ton");
chain.assertAddress("EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs"); // returned unchanged
chain.type; // "ton"
chain.caip2; // "ton:-1"

Spellings

ton, TON (The Open Network). The key is ton, the rest resolve through getChain.

@agntn/chains·MIT license· A format check, not proof an address exists. Nothing on this site talks to a chain.