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