[{"data":1,"prerenderedAt":603},["ShallowReactive",2],{"navigation_docs":3,"-guide-cli":168,"-guide-cli-surround":598},[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":28,"body":170,"description":590,"extension":591,"links":592,"meta":593,"navigation":595,"path":29,"seo":596,"stem":30,"__hash__":597},"docs\u002F1.guide\u002F06.cli.md",{"type":171,"value":172,"toc":585},"minimark",[173,178,220,228,324,328,436,500,504,528,575,581],[174,175,177],"h2",{"id":176},"run-it","Run it",[179,180,185],"pre",{"className":181,"code":182,"language":183,"meta":184,"style":184},"language-bash shiki shiki-themes github-light github-light poimandres","pnpm add -g @agntn\u002Fchains\nchains info matic\n","bash","",[186,187,188,208],"code",{"__ignoreMap":184},[189,190,193,197,201,205],"span",{"class":191,"line":192},"line",1,[189,194,196],{"class":195},"sseY5","pnpm",[189,198,200],{"class":199},"sX7Zv"," add",[189,202,204],{"class":203},"sqT1Y"," -g",[189,206,207],{"class":199}," @agntn\u002Fchains\n",[189,209,211,214,217],{"class":191,"line":210},2,[189,212,213],{"class":195},"chains",[189,215,216],{"class":199}," info",[189,218,219],{"class":199}," matic\n",[179,221,226],{"className":222,"code":224,"language":225,"meta":184},[223],"language-text","Polygon PoS (polygon)\n  symbol      POL\n  decimals    18\n  type        evm\n  bip44       60\n  chainId     0x89\n  caip2       eip155:137\n  explorer    https:\u002F\u002Fpolygonscan.com\n  rpc         https:\u002F\u002Fpolygon-bor-rpc.publicnode.com\n","text",[186,227,224],{"__ignoreMap":184},[229,230,231,244],"table",{},[232,233,234],"thead",{},[235,236,237,241],"tr",{},[238,239,240],"th",{},"Command",[238,242,243],{},"Description",[245,246,247,262,272,282,298,314],"tbody",{},[235,248,249,255],{},[250,251,252],"td",{},[186,253,254],{},"chains info [chain]",[250,256,257,258,261],{},"Canonical metadata, Ethereum when no chain is given. ",[186,259,260],{},"--json"," for a machine",[235,263,264,269],{},[250,265,266],{},[186,267,268],{},"chains resolve \u003Cinput>",[250,270,271],{},"The canonical key for a name, symbol or alias, one line",[235,273,274,279],{},[250,275,276],{},[186,277,278],{},"chains validate \u003Cchain> \u003Caddress>",[250,280,281],{},"Check an address against one chain's format",[235,283,284,289],{},[250,285,286],{},[186,287,288],{},"chains identify \u003Caddress>",[250,290,291,292,294,295],{},"Which registered chains accept the address. ",[186,293,260],{}," for ",[186,296,297],{},"{ matches, unchecked }",[235,299,300,305],{},[250,301,302],{},[186,303,304],{},"chains list",[250,306,307,308,311,312,261],{},"Every registered chain, ",[186,309,310],{},"--type \u003Cfamily>"," to narrow, ",[186,313,260],{},[235,315,316,321],{},[250,317,318],{},[186,319,320],{},"chains mcp",[250,322,323],{},"Run the MCP server over stdio",[174,325,327],{"id":326},"examples","Examples",[179,329,331],{"className":181,"code":330,"language":183,"meta":184,"style":184},"chains list --type evm            # every registered EVM chain\nchains info matic                 # canonical metadata, add --json for a machine\nchains resolve btc                # bitcoin\nchains validate eth 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984\nchains identify 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984   # which chains accept this format\nchains list --json | jq -r '.[] | select(.type == \"utxo\") | .key'\n",[186,332,333,350,362,376,391,405],{"__ignoreMap":184},[189,334,335,337,340,343,346],{"class":191,"line":192},[189,336,213],{"class":195},[189,338,339],{"class":199}," list",[189,341,342],{"class":203}," --type",[189,344,345],{"class":199}," evm",[189,347,349],{"class":348},"sjhu3","            # every registered EVM chain\n",[189,351,352,354,356,359],{"class":191,"line":210},[189,353,213],{"class":195},[189,355,216],{"class":199},[189,357,358],{"class":199}," matic",[189,360,361],{"class":348},"                 # canonical metadata, add --json for a machine\n",[189,363,365,367,370,373],{"class":191,"line":364},3,[189,366,213],{"class":195},[189,368,369],{"class":199}," resolve",[189,371,372],{"class":199}," btc",[189,374,375],{"class":348},"                # bitcoin\n",[189,377,379,381,384,387],{"class":191,"line":378},4,[189,380,213],{"class":195},[189,382,383],{"class":199}," validate",[189,385,386],{"class":199}," eth",[189,388,390],{"class":389},"siHFe"," 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984\n",[189,392,394,396,399,402],{"class":191,"line":393},5,[189,395,213],{"class":195},[189,397,398],{"class":199}," identify",[189,400,401],{"class":389}," 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",[189,403,404],{"class":348},"   # which chains accept this format\n",[189,406,408,410,412,415,419,422,425,429,433],{"class":191,"line":407},6,[189,409,213],{"class":195},[189,411,339],{"class":199},[189,413,414],{"class":203}," --json",[189,416,418],{"class":417},"s1TYA"," |",[189,420,421],{"class":195}," jq",[189,423,424],{"class":203}," -r",[189,426,428],{"class":427},"scVjq"," '",[189,430,432],{"class":431},"sQ7BG",".[] | select(.type == \"utxo\") | .key",[189,434,435],{"class":427},"'\n",[437,438,439,442,443,447,448,451,452,451,455,457,458,461,462,465,466,451,469,451,472,451,475,451,478,451,481,451,484,451,487,451,490,451,493,451,496,499],"p",{},[186,440,441],{},"chain"," is anything ",[444,445,446],"a",{"href":13},"getChain"," accepts: ",[186,449,450],{},"matic",", ",[186,453,454],{},"btc",[186,456,60],{},". Families for ",[186,459,460],{},"--type"," are the eleven ",[186,463,464],{},"type"," values: ",[186,467,468],{},"evm",[186,470,471],{},"utxo",[186,473,474],{},"solana",[186,476,477],{},"stellar",[186,479,480],{},"xrpl",[186,482,483],{},"move",[186,485,486],{},"ton",[186,488,489],{},"tron",[186,491,492],{},"octra",[186,494,495],{},"arweave",[186,497,498],{},"monero",".",[174,501,503],{"id":502},"exit-codes","Exit codes",[437,505,506,451,509,512,513,516,517,520,521,523,524,527],{},[186,507,508],{},"resolve",[186,510,511],{},"info"," and ",[186,514,515],{},"validate"," print a message and exit 1 when they fail: unknown chain, address that doesn't fit. ",[186,518,519],{},"list"," warns and exits 0 when a ",[186,522,460],{}," filter matches nothing, so don't use it as a check in a script. ",[186,525,526],{},"identify"," exits 0 even when nothing matches, because that's an answer too, and prints a warning line instead of a match list.",[179,529,531],{"className":181,"code":530,"language":183,"meta":184,"style":184},"chains validate btc bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 && echo fits\nchains validate btc bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5 || echo nope\n",[186,532,533,555],{"__ignoreMap":184},[189,534,535,537,539,541,544,548,552],{"class":191,"line":192},[189,536,213],{"class":195},[189,538,383],{"class":199},[189,540,372],{"class":199},[189,542,543],{"class":199}," bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4",[189,545,547],{"class":546},"sKlNE"," && ",[189,549,551],{"class":550},"s39Ir","echo",[189,553,554],{"class":199}," fits\n",[189,556,557,559,561,563,566,569,572],{"class":191,"line":210},[189,558,213],{"class":195},[189,560,383],{"class":199},[189,562,372],{"class":199},[189,564,565],{"class":199}," bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5",[189,567,568],{"class":417}," ||",[189,570,571],{"class":550}," echo",[189,573,574],{"class":199}," nope\n",[437,576,577,578,580],{},"An address the CLI rejects comes back quoted, so a newline or a terminal escape inside one can't forge a line under the error. ",[186,579,515],{}," passes the address through as typed, spaces included; the tools trim, the CLI doesn't.",[582,583,584],"style",{},"html pre.shiki code .sseY5, html code.shiki .sseY5{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#91B4D5}html pre.shiki code .sX7Zv, html code.shiki .sX7Zv{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#ADD7FF}html pre.shiki code .sqT1Y, html code.shiki .sqT1Y{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#ADD7FF}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);}html pre.shiki code .sjhu3, html code.shiki .sjhu3{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#767C9DB0;--shiki-dark-font-style:italic}html pre.shiki code .siHFe, html code.shiki .siHFe{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#5DE4C7}html pre.shiki code .s1TYA, html code.shiki .s1TYA{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#91B4D5}html pre.shiki code .scVjq, html code.shiki .scVjq{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#A6ACCD}html pre.shiki code .sQ7BG, html code.shiki .sQ7BG{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#5DE4C7}html pre.shiki code .sKlNE, html code.shiki .sKlNE{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#A6ACCD}html pre.shiki code .s39Ir, html code.shiki .s39Ir{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#91B4D5}",{"title":184,"searchDepth":210,"depth":210,"links":586},[587,588,589],{"id":176,"depth":210,"text":177},{"id":326,"depth":210,"text":327},{"id":502,"depth":210,"text":503},"The chains command. Six subcommands and what each prints. Which ones exit 1.","md",null,{"icon":594},"i-lucide-terminal",true,{"title":28,"description":590},"_iMavaAnkL3MaTPi7rQJL1npQk85gRx3X4Y5VOUDssg",[599,601],{"title":24,"path":25,"stem":26,"description":600,"children":-1},"Every field on a chain class. Which ones may be missing and why. Where each decimals value was checked.",{"title":32,"path":33,"stem":34,"description":602,"children":-1},"The same four tools over MCP and the Pi and OMP extensions. What the text carries and what sets isError. What a model can't hand the process.",1789393742245]