[{"data":1,"prerenderedAt":340},["ShallowReactive",2],{"navigation_docs":3,"-guide-playground":168,"-guide-playground-surround":335},[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":167},"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],{"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","i-lucide-link",{"id":169,"title":40,"body":170,"description":327,"extension":328,"links":329,"meta":330,"navigation":332,"path":41,"seo":333,"stem":42,"__hash__":334},"docs\u002F1.guide\u002F09.playground.md",{"type":171,"value":172,"toc":319},"minimark",[173,187,271,278,283,290,294,297,301,307,311],[174,175,176,177,181,182,186],"p",{},"The ",[178,179,40],"a",{"href":180},"\u002Fplayground"," imports ",[183,184,185],"code",{},"@agntn\u002Fchains"," into the page and runs it in your browser. Every lookup, check and identify is the library's own answer, the same code the CLI and the agent tools run. Nothing is sent anywhere. The docs worker serves the page and that's the end of its involvement.",[188,189,190,206],"table",{},[191,192,193],"thead",{},[194,195,196,200,203],"tr",{},[197,198,199],"th",{},"Operation",[197,201,202],{},"Runs",[197,204,205],{},"Tool equivalent",[207,208,209,226,241,255],"tbody",{},[194,210,211,215,221],{},[212,213,214],"td",{},"Lookup",[212,216,217,220],{},[183,218,219],{},"getChain(input)"," and every field on the class",[212,222,223],{},[183,224,225],{},"chains_lookup",[194,227,228,231,236],{},[212,229,230],{},"Validate",[212,232,233],{},[183,234,235],{},"getChain(input).assertAddress(address)",[212,237,238],{},[183,239,240],{},"chains_validate_address",[194,242,243,245,250],{},[212,244,20],{},[212,246,247],{},[183,248,249],{},"identify(address)",[212,251,252],{},[183,253,254],{},"chains_identify_address",[194,256,257,260,266],{},[212,258,259],{},"List",[212,261,262,265],{},[183,263,264],{},"chains().map(create)",", narrowed to one family",[212,267,268],{},[183,269,270],{},"chains_list",[174,272,273,274,277],{},"The chain field takes what ",[183,275,276],{},"getChain"," takes: a key, a display name or an alias. The sample chips load one chain's alias and a known good address for it, so the fastest way to see a rejection is to load a sample and change one character.",[279,280,282],"h2",{"id":281},"every-state-is-a-link","Every state is a link",[174,284,285,286,289],{},"The form writes itself into the address: ",[183,287,288],{},"\u002Fplayground?op=validate&chain=btc&address=bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4"," opens the page on that answer. Paste it to someone and they see what you saw. The permalink button copies the current one.",[279,291,293],{"id":292},"the-two-snippets","The two snippets",[174,295,296],{},"Under the result the page prints the same call as a CLI line and as a tool invocation in JSON, both with copy buttons. They are built from the form, so what you copy is what you ran.",[279,298,300],{"id":299},"what-green-means","What green means",[174,302,303,304,306],{},"A green result means the string fits the chain's format. It doesn't mean the address exists, has a balance, or belongs to who you think, and it doesn't mean a checksum was verified, ",[178,305,16],{"href":17}," says which ones are. The page repeats that under every accepted address, on purpose.",[279,308,310],{"id":309},"the-landing","The landing",[174,312,313,314,318],{},"The panels on the ",[178,315,317],{"href":316},"\u002F","home page"," walk through all twenty-nine chains with one sample address each, computed the same way, in the browser, on one clock. Hover a panel to pause it. The arrows under the code step it by hand.",{"title":320,"searchDepth":321,"depth":321,"links":322},"",2,[323,324,325,326],{"id":281,"depth":321,"text":282},{"id":292,"depth":321,"text":293},{"id":299,"depth":321,"text":300},{"id":309,"depth":321,"text":310},"The page behind chains.agntn.dev\u002Fplayground runs the library in your browser. What it can tell you and what it can't.","md",null,{"icon":331},"i-lucide-flask-conical",true,{"title":40,"description":327},"pLqyvRte61pC0yGoi-X0PHcisxRU9PRssr4rjuKsVKg",[336,338],{"title":36,"path":37,"stem":38,"description":337,"children":-1},"Extend the abstract Chain with a key and a validator and register the class. From then on the registry treats it like a built-in.",{"title":50,"path":46,"stem":47,"description":339,"children":-1},"Twenty-nine chains in eleven families. Each page lists the metadata. It names the address forms the validator accepts and what it leaves alone.",1789393742245]