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