[{"data":1,"prerenderedAt":410},["ShallowReactive",2],{"navigation_docs":3,"-chains-ton":196,"-chains-ton-surround":405},[4,44],{"title":5,"path":6,"stem":7,"children":8,"icon":43},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Registry and aliases","\u002Fguide\u002Fregistry","1.guide\u002F02.registry",{"title":16,"path":17,"stem":18},"Address validation","\u002Fguide\u002Fvalidation","1.guide\u002F03.validation",{"title":20,"path":21,"stem":22},"Identify","\u002Fguide\u002Fidentify","1.guide\u002F04.identify",{"title":24,"path":25,"stem":26},"Metadata","\u002Fguide\u002Fmetadata","1.guide\u002F05.metadata",{"title":28,"path":29,"stem":30},"CLI","\u002Fguide\u002Fcli","1.guide\u002F06.cli",{"title":32,"path":33,"stem":34},"Agents","\u002Fguide\u002Fagents","1.guide\u002F07.agents",{"title":36,"path":37,"stem":38},"Custom chains","\u002Fguide\u002Fcustom","1.guide\u002F08.custom",{"title":40,"path":41,"stem":42},"Playground","\u002Fguide\u002Fplayground","1.guide\u002F09.playground","i-lucide-book-open",{"title":45,"path":46,"stem":47,"children":48,"icon":195},"Chains","\u002Fchains","2.chains\u002F00.index",[49,51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191],{"title":50,"path":46,"stem":47},"Overview",{"title":52,"path":53,"stem":54},"Ethereum","\u002Fchains\u002Fethereum","2.chains\u002F01.ethereum",{"title":56,"path":57,"stem":58},"Base","\u002Fchains\u002Fbase","2.chains\u002F02.base",{"title":60,"path":61,"stem":62},"Arbitrum One","\u002Fchains\u002Farbitrum","2.chains\u002F03.arbitrum",{"title":64,"path":65,"stem":66},"Optimism","\u002Fchains\u002Foptimism","2.chains\u002F04.optimism",{"title":68,"path":69,"stem":70},"Polygon PoS","\u002Fchains\u002Fpolygon","2.chains\u002F05.polygon",{"title":72,"path":73,"stem":74},"BNB Chain","\u002Fchains\u002Fbsc","2.chains\u002F06.bsc",{"title":76,"path":77,"stem":78},"Avalanche C-Chain","\u002Fchains\u002Favalanche","2.chains\u002F07.avalanche",{"title":80,"path":81,"stem":82},"Fantom Opera","\u002Fchains\u002Ffantom","2.chains\u002F08.fantom",{"title":84,"path":85,"stem":86},"Gnosis Chain","\u002Fchains\u002Fgnosis","2.chains\u002F09.gnosis",{"title":88,"path":89,"stem":90},"Linea","\u002Fchains\u002Flinea","2.chains\u002F10.linea",{"title":92,"path":93,"stem":94},"zkSync Era","\u002Fchains\u002Fzksync","2.chains\u002F11.zksync",{"title":96,"path":97,"stem":98},"Scroll","\u002Fchains\u002Fscroll","2.chains\u002F12.scroll",{"title":100,"path":101,"stem":102},"Berachain","\u002Fchains\u002Fberachain","2.chains\u002F13.berachain",{"title":104,"path":105,"stem":106},"Bitcoin","\u002Fchains\u002Fbitcoin","2.chains\u002F14.bitcoin",{"title":108,"path":109,"stem":110},"Litecoin","\u002Fchains\u002Flitecoin","2.chains\u002F15.litecoin",{"title":112,"path":113,"stem":114},"Pepecoin","\u002Fchains\u002Fpepecoin","2.chains\u002F16.pepecoin",{"title":116,"path":117,"stem":118},"eCash","\u002Fchains\u002Fecash","2.chains\u002F17.ecash",{"title":120,"path":121,"stem":122},"Cardano","\u002Fchains\u002Fcardano","2.chains\u002F18.cardano",{"title":124,"path":125,"stem":126},"Solana","\u002Fchains\u002Fsolana","2.chains\u002F19.solana",{"title":128,"path":129,"stem":130},"Stellar","\u002Fchains\u002Fstellar","2.chains\u002F20.stellar",{"title":132,"path":133,"stem":134},"XRP Ledger","\u002Fchains\u002Fxrpl","2.chains\u002F21.xrpl",{"title":136,"path":137,"stem":138},"Aptos","\u002Fchains\u002Faptos","2.chains\u002F22.aptos",{"title":140,"path":141,"stem":142},"Sui","\u002Fchains\u002Fsui","2.chains\u002F23.sui",{"title":144,"path":145,"stem":146},"TON (The Open Network)","\u002Fchains\u002Fton","2.chains\u002F24.ton",{"title":148,"path":149,"stem":150},"TRON","\u002Fchains\u002Ftron","2.chains\u002F25.tron",{"title":152,"path":153,"stem":154},"Octra","\u002Fchains\u002Foctra","2.chains\u002F26.octra",{"title":156,"path":157,"stem":158},"Arweave","\u002Fchains\u002Farweave","2.chains\u002F27.arweave",{"title":160,"path":161,"stem":162},"Monero","\u002Fchains\u002Fmonero","2.chains\u002F28.monero",{"title":164,"path":165,"stem":166},"Decred","\u002Fchains\u002Fdecred","2.chains\u002F29.decred",{"title":168,"path":169,"stem":170},"Arc","\u002Fchains\u002Farc","2.chains\u002F30.arc",{"title":172,"path":173,"stem":174},"Dogecoin","\u002Fchains\u002Fdogecoin","2.chains\u002F31.dogecoin",{"title":176,"path":177,"stem":178},"Bitcoin Cash","\u002Fchains\u002Fbitcoincash","2.chains\u002F32.bitcoincash",{"title":180,"path":181,"stem":182},"Bitcoin SV","\u002Fchains\u002Fbitcoinsv","2.chains\u002F33.bitcoinsv",{"title":184,"path":185,"stem":186},"Bitcoin Gold","\u002Fchains\u002Fbitcoingold","2.chains\u002F34.bitcoingold",{"title":188,"path":189,"stem":190},"Dash","\u002Fchains\u002Fdash","2.chains\u002F35.dash",{"title":192,"path":193,"stem":194},"Zcash","\u002Fchains\u002Fzcash","2.chains\u002F36.zcash","i-lucide-link",{"id":197,"title":144,"body":198,"description":398,"extension":399,"links":400,"meta":401,"navigation":306,"path":145,"seo":403,"stem":146,"__hash__":404},"docs\u002F2.chains\u002F24.ton.md",{"type":199,"value":200,"toc":394},"minimark",[201,205,210,262,269,372,376,390],[202,203],"chain-facts",{"chain":204},"ton",[206,207,209],"h2",{"id":208},"address-format","Address format",[211,212,213,214,218,219,222,223,218,226,229,230,233,234,237,238,241,242,245,246,249,250,253,254,257,258,261],"p",{},"The TEP-2 user-friendly form: 36 bytes in unpadded base64, so exactly 48 characters. Wallets emit the URL-safe alphabet with ",[215,216,217],"code",{},"-"," and ",[215,220,221],{},"_",", the standard one with ",[215,224,225],{},"+",[215,227,228],{},"\u002F"," is in circulation too, and both pass. The first byte is the tag, ",[215,231,232],{},"0x11"," for bounceable (",[215,235,236],{},"EQ…",") or ",[215,239,240],{},"0x51"," for non-bounceable (",[215,243,244],{},"UQ…","). A set testnet flag is rejected the way Bitcoin's testnet versions are. The second byte is the workchain, ",[215,247,248],{},"0x00"," for the basechain or ",[215,251,252],{},"0xff"," for the masterchain, the only two that exist. Both live inside one network, so neither is the CAIP-2 reference: that's the network's ",[215,255,256],{},"global_id",", ",[215,259,260],{},"-239"," on mainnet, the id TON Connect and WalletConnect pass around.",[211,263,264,265,268],{},"The last two bytes are the CRC16-XModem of the 34 before them, and they're verified: one character off fails, which is what TEP-2 puts the checksum there for. The raw ",[215,266,267],{},"workchain:hex"," form isn't accepted, because wallets and explorers exchange the friendly one.",[270,271,276],"pre",{"className":272,"code":273,"language":274,"meta":275,"style":275},"language-ts shiki shiki-themes chains chains chains","import { getChain } from \"@agntn\u002Fchains\";\n\nconst chain = getChain(\"ton\");\nchain.assertAddress(\"EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs\"); \u002F\u002F returned unchanged\nchain.type; \u002F\u002F \"ton\"\nchain.caip2; \u002F\u002F \"ton:-239\"\n","ts","",[215,277,278,301,308,333,354,363],{"__ignoreMap":275},[279,280,283,287,291,294,298],"span",{"class":281,"line":282},"line",1,[279,284,286],{"class":285},"skH_V","import",[279,288,290],{"class":289},"s38Sx"," { getChain } ",[279,292,293],{"class":285},"from",[279,295,297],{"class":296},"shU9J"," \"@agntn\u002Fchains\"",[279,299,300],{"class":289},";\n",[279,302,304],{"class":281,"line":303},2,[279,305,307],{"emptyLinePlaceholder":306},true,"\n",[279,309,311,314,317,320,324,327,330],{"class":281,"line":310},3,[279,312,313],{"class":285},"const",[279,315,316],{"class":289}," chain ",[279,318,319],{"class":285},"=",[279,321,323],{"class":322},"sK71F"," getChain",[279,325,326],{"class":289},"(",[279,328,329],{"class":296},"\"ton\"",[279,331,332],{"class":289},");\n",[279,334,336,339,342,344,347,350],{"class":281,"line":335},4,[279,337,338],{"class":289},"chain.",[279,340,341],{"class":322},"assertAddress",[279,343,326],{"class":289},[279,345,346],{"class":296},"\"EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs\"",[279,348,349],{"class":289},"); ",[279,351,353],{"class":352},"scIB-","\u002F\u002F returned unchanged\n",[279,355,357,360],{"class":281,"line":356},5,[279,358,359],{"class":289},"chain.type; ",[279,361,362],{"class":352},"\u002F\u002F \"ton\"\n",[279,364,366,369],{"class":281,"line":365},6,[279,367,368],{"class":289},"chain.caip2; ",[279,370,371],{"class":352},"\u002F\u002F \"ton:-239\"\n",[206,373,375],{"id":374},"spellings","Spellings",[211,377,378,257,380,382,383,385,386,389],{},[215,379,204],{},[215,381,144],{},". The key is ",[215,384,204],{},", the rest resolve through ",[215,387,388],{},"getChain",".",[391,392,393],"style",{},"html pre.shiki code .skH_V, html code.shiki .skH_V{--shiki-light:var(--shiki-token-keyword);--shiki-default:var(--shiki-token-keyword);--shiki-dark:var(--shiki-token-keyword)}html pre.shiki code .s38Sx, html code.shiki .s38Sx{--shiki-light:var(--ui-text-highlighted);--shiki-default:var(--ui-text-highlighted);--shiki-dark:var(--ui-text-highlighted)}html pre.shiki code .shU9J, html code.shiki .shU9J{--shiki-light:var(--shiki-token-string);--shiki-default:var(--shiki-token-string);--shiki-dark:var(--shiki-token-string)}html pre.shiki code .sK71F, html code.shiki .sK71F{--shiki-light:var(--shiki-token-function);--shiki-default:var(--shiki-token-function);--shiki-dark:var(--shiki-token-function)}html pre.shiki code .scIB-, html code.shiki .scIB-{--shiki-light:var(--shiki-token-comment);--shiki-default:var(--shiki-token-comment);--shiki-dark:var(--shiki-token-comment)}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":275,"searchDepth":303,"depth":303,"links":395},[396,397],{"id":208,"depth":303,"text":209},{"id":374,"depth":303,"text":375},"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, and the CRC16 verified.","md",null,{"icon":402},"i-token-ton",{"title":144,"description":398},"gCGBLU3qdMs58K83GR_8uzQJ-KSdxygWtQMPEupLNYk",[406,408],{"title":140,"path":141,"stem":142,"description":407,"children":-1},"The Move format, same as Aptos: 64 hex digits behind 0x or the single digit short form. Coin type 784, sui:mainnet.",{"title":148,"path":149,"stem":150,"description":409,"children":-1},"Base58Check under version 0x41, 25 bytes. Decoding is what keeps TRON and Bitcoin's legacy form apart, they are the same width.",1791462911830]