[{"data":1,"prerenderedAt":1000},["ShallowReactive",2],{"navigation_docs":3,"-guide":168,"-guide-surround":997},[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":10,"body":170,"description":991,"extension":992,"links":993,"meta":994,"navigation":306,"path":6,"seo":995,"stem":7,"__hash__":996},"docs\u002F1.guide\u002F01.index.md",{"type":171,"value":172,"toc":983},"minimark",[173,181,188,193,197,209,213,238,242,518,531,535,718,728,732,882,919,923,979],[174,175,176,180],"warning",{},[177,178,179],"strong",{},"Pre-1.0."," The API and the tool list can still move. Pin exact versions if you build on it now.",[182,183,184,187],"caution",{},[177,185,186],{},"A passing check is a format check."," It says the string fits the chain's rules. It doesn't say the address exists, holds anything, or belongs to who you think. Where a format has a checksum, the chain's page says whether it's verified.",[189,190,192],"h2",{"id":191},"why-this-exists","Why this exists",[194,195,196],"p",{},"Every web3 library I write needs the same handful of facts: Polygon's chain ID, Bitcoin's coin type, which explorer to link, whether an address even looks right. Re-declared in every one of them, and slightly different each time. So they live here once, as classes, and everything else imports them.",[194,198,199,200,204,205,208],{},"The second reason is the address check. A regex that counts characters takes a Bitcoin address, a TRON address and half the typos in between. Here the validators decode: Solana wants 32 bytes behind the base58, TRON wants 25 under version ",[201,202,203],"code",{},"0x41",", a ",[201,206,207],{},"bc1"," address has to pass its Bech32 checksum. Rejected is an answer with the chain key on it.",[189,210,212],{"id":211},"install","Install",[214,215,220],"pre",{"className":216,"code":217,"language":218,"meta":219,"style":219},"language-bash shiki shiki-themes github-light github-light poimandres","pnpm add @agntn\u002Fchains\n","bash","",[201,221,222],{"__ignoreMap":219},[223,224,227,231,235],"span",{"class":225,"line":226},"line",1,[223,228,230],{"class":229},"sseY5","pnpm",[223,232,234],{"class":233},"sX7Zv"," add",[223,236,237],{"class":233}," @agntn\u002Fchains\n",[189,239,241],{"id":240},"first-call","First call",[214,243,248],{"className":244,"code":245,"filename":246,"language":247,"meta":219,"style":219},"language-ts shiki shiki-themes github-light github-light poimandres","import { Ethereum, EVM, create, getChain } from \"@agntn\u002Fchains\";\n\nconst ethereum = create(\"ethereum\");\n\nethereum instanceof Ethereum; \u002F\u002F true\nethereum instanceof EVM; \u002F\u002F true\nethereum.name; \u002F\u002F \"Ethereum\"\nethereum.symbol; \u002F\u002F \"ETH\"\nethereum.chainId; \u002F\u002F \"0x1\"\nethereum.caip2; \u002F\u002F \"eip155:1\"\n\n\u002F\u002F Aliases resolve to the same concrete classes.\nconst polygon = getChain(\"matic\");\npolygon.key; \u002F\u002F \"polygon\"\n\n\u002F\u002F Validation lives on the class that knows the format.\nethereum.assertAddress(\"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984\");\n","ethereum.ts","ts",[201,249,250,301,308,338,343,362,375,391,406,421,436,441,447,470,486,491,497],{"__ignoreMap":219},[223,251,252,256,260,264,267,270,272,275,277,280,283,287,291,295,298],{"class":225,"line":226},[223,253,255],{"class":254},"sP0CR","import",[223,257,259],{"class":258},"sKlNE"," {",[223,261,263],{"class":262},"snHMy"," Ethereum",[223,265,266],{"class":258},",",[223,268,269],{"class":262}," EVM",[223,271,266],{"class":258},[223,273,274],{"class":262}," create",[223,276,266],{"class":258},[223,278,279],{"class":262}," getChain",[223,281,282],{"class":258}," }",[223,284,286],{"class":285},"stCPd"," from",[223,288,290],{"class":289},"scVjq"," \"",[223,292,294],{"class":293},"sQ7BG","@agntn\u002Fchains",[223,296,297],{"class":289},"\"",[223,299,300],{"class":258},";\n",[223,302,304],{"class":225,"line":303},2,[223,305,307],{"emptyLinePlaceholder":306},true,"\n",[223,309,311,315,319,322,325,328,330,333,335],{"class":225,"line":310},3,[223,312,314],{"class":313},"s1TYA","const",[223,316,318],{"class":317},"saoiD"," ethereum",[223,320,321],{"class":313}," =",[223,323,274],{"class":324},"sULi6",[223,326,327],{"class":258},"(",[223,329,297],{"class":289},[223,331,332],{"class":293},"ethereum",[223,334,297],{"class":289},[223,336,337],{"class":258},");\n",[223,339,341],{"class":225,"line":340},4,[223,342,307],{"emptyLinePlaceholder":306},[223,344,346,349,352,355,358],{"class":225,"line":345},5,[223,347,332],{"class":348},"spVlQ",[223,350,351],{"class":313}," instanceof",[223,353,263],{"class":354},"sCrqT",[223,356,357],{"class":258},"; ",[223,359,361],{"class":360},"sjhu3","\u002F\u002F true\n",[223,363,365,367,369,371,373],{"class":225,"line":364},6,[223,366,332],{"class":348},[223,368,351],{"class":313},[223,370,269],{"class":354},[223,372,357],{"class":258},[223,374,361],{"class":360},[223,376,378,380,383,386,388],{"class":225,"line":377},7,[223,379,332],{"class":348},[223,381,382],{"class":258},".",[223,384,385],{"class":348},"name",[223,387,357],{"class":258},[223,389,390],{"class":360},"\u002F\u002F \"Ethereum\"\n",[223,392,394,396,398,401,403],{"class":225,"line":393},8,[223,395,332],{"class":348},[223,397,382],{"class":258},[223,399,400],{"class":348},"symbol",[223,402,357],{"class":258},[223,404,405],{"class":360},"\u002F\u002F \"ETH\"\n",[223,407,409,411,413,416,418],{"class":225,"line":408},9,[223,410,332],{"class":348},[223,412,382],{"class":258},[223,414,415],{"class":348},"chainId",[223,417,357],{"class":258},[223,419,420],{"class":360},"\u002F\u002F \"0x1\"\n",[223,422,424,426,428,431,433],{"class":225,"line":423},10,[223,425,332],{"class":348},[223,427,382],{"class":258},[223,429,430],{"class":348},"caip2",[223,432,357],{"class":258},[223,434,435],{"class":360},"\u002F\u002F \"eip155:1\"\n",[223,437,439],{"class":225,"line":438},11,[223,440,307],{"emptyLinePlaceholder":306},[223,442,444],{"class":225,"line":443},12,[223,445,446],{"class":360},"\u002F\u002F Aliases resolve to the same concrete classes.\n",[223,448,450,452,455,457,459,461,463,466,468],{"class":225,"line":449},13,[223,451,314],{"class":313},[223,453,454],{"class":317}," polygon",[223,456,321],{"class":313},[223,458,279],{"class":324},[223,460,327],{"class":258},[223,462,297],{"class":289},[223,464,465],{"class":293},"matic",[223,467,297],{"class":289},[223,469,337],{"class":258},[223,471,473,476,478,481,483],{"class":225,"line":472},14,[223,474,475],{"class":348},"polygon",[223,477,382],{"class":258},[223,479,480],{"class":348},"key",[223,482,357],{"class":258},[223,484,485],{"class":360},"\u002F\u002F \"polygon\"\n",[223,487,489],{"class":225,"line":488},15,[223,490,307],{"emptyLinePlaceholder":306},[223,492,494],{"class":225,"line":493},16,[223,495,496],{"class":360},"\u002F\u002F Validation lives on the class that knows the format.\n",[223,498,500,502,504,507,509,511,514,516],{"class":225,"line":499},17,[223,501,332],{"class":348},[223,503,382],{"class":258},[223,505,506],{"class":324},"assertAddress",[223,508,327],{"class":258},[223,510,297],{"class":289},[223,512,513],{"class":293},"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",[223,515,297],{"class":289},[223,517,337],{"class":258},[194,519,520,523,524,527,528,530],{},[201,521,522],{},"create(key)"," wants the canonical key and builds a fresh instance. ",[201,525,526],{},"getChain(input)"," takes whatever spelling you're holding, a key, a display name or an alias like ",[201,529,465],{},", and gives you the same class. With no argument it means Ethereum. With an empty string it throws, because a blank input is a mistake, not a request for the default.",[189,532,534],{"id":533},"what-is-on-a-chain","What is on a chain",[536,537,538,554],"table",{},[539,540,541],"thead",{},[542,543,544,548,551],"tr",{},[545,546,547],"th",{},"Field",[545,549,550],{},"Type",[545,552,553],{},"Description",[555,556,557,578,592,605,620,649,663,677,690,704],"tbody",{},[542,558,559,564,569],{},[560,561,562],"td",{},[201,563,480],{},[560,565,566],{},[201,567,568],{},"ChainKey",[560,570,571,572,574,575],{},"Canonical class key, ",[201,573,332],{}," not ",[201,576,577],{},"eth",[542,579,580,584,589],{},[560,581,582],{},[201,583,385],{},[560,585,586],{},[201,587,588],{},"string",[560,590,591],{},"Display name",[542,593,594,598,602],{},[560,595,596],{},[201,597,400],{},[560,599,600],{},[201,601,588],{},[560,603,604],{},"Native token symbol",[542,606,607,612,617],{},[560,608,609],{},[201,610,611],{},"decimals",[560,613,614],{},[201,615,616],{},"number?",[560,618,619],{},"Native currency decimal places",[542,621,622,627,632],{},[560,623,624],{},[201,625,626],{},"type",[560,628,629],{},[201,630,631],{},"ChainType",[560,633,634,635,638,639,638,642,638,645,648],{},"Family: ",[201,636,637],{},"evm",", ",[201,640,641],{},"utxo",[201,643,644],{},"move",[201,646,647],{},"solana"," and so on",[542,650,651,656,660],{},[560,652,653],{},[201,654,655],{},"bip44",[560,657,658],{},[201,659,616],{},[560,661,662],{},"BIP-44 \u002F SLIP-0044 coin type",[542,664,665,669,674],{},[560,666,667],{},[201,668,415],{},[560,670,671],{},[201,672,673],{},"string?",[560,675,676],{},"EVM chain ID in hexadecimal",[542,678,679,683,687],{},[560,680,681],{},[201,682,430],{},[560,684,685],{},[201,686,673],{},[560,688,689],{},"CAIP-2 identifier",[542,691,692,697,701],{},[560,693,694],{},[201,695,696],{},"explorer",[560,698,699],{},[201,700,588],{},[560,702,703],{},"Block explorer base URL",[542,705,706,711,715],{},[560,707,708],{},[201,709,710],{},"rpcDefault",[560,712,713],{},[201,714,673],{},[560,716,717],{},"Default public RPC endpoint",[194,719,720,721,724,725,382],{},"Optional fields stay empty when the chain has no registered value. Octra has no BIP-44 coin type and no CAIP-2 namespace, so both are ",[201,722,723],{},"undefined"," rather than invented. The full story of each field, decimals included, is in ",[726,727,24],"a",{"href":25},[189,729,731],{"id":730},"errors","Errors",[214,733,735],{"className":244,"code":734,"language":247,"meta":219,"style":219},"import { ChainsError, InvalidAddressError, UnsupportedChainError } from \"@agntn\u002Fchains\";\n\ntry {\n  getChain(\"btc\").assertAddress(\"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5\");\n} catch (error) {\n  if (error instanceof InvalidAddressError) {\n    error.chain; \u002F\u002F \"bitcoin\", the canonical key\n    error.address; \u002F\u002F the string that failed\n  }\n}\n",[201,736,737,768,772,781,811,828,843,858,872,877],{"__ignoreMap":219},[223,738,739,741,743,746,748,751,753,756,758,760,762,764,766],{"class":225,"line":226},[223,740,255],{"class":254},[223,742,259],{"class":258},[223,744,745],{"class":262}," ChainsError",[223,747,266],{"class":258},[223,749,750],{"class":262}," InvalidAddressError",[223,752,266],{"class":258},[223,754,755],{"class":262}," UnsupportedChainError",[223,757,282],{"class":258},[223,759,286],{"class":285},[223,761,290],{"class":289},[223,763,294],{"class":293},[223,765,297],{"class":289},[223,767,300],{"class":258},[223,769,770],{"class":225,"line":303},[223,771,307],{"emptyLinePlaceholder":306},[223,773,774,778],{"class":225,"line":310},[223,775,777],{"class":776},"szlwh","try",[223,779,780],{"class":258}," {\n",[223,782,783,786,788,790,793,795,798,800,802,804,807,809],{"class":225,"line":340},[223,784,785],{"class":324},"  getChain",[223,787,327],{"class":258},[223,789,297],{"class":289},[223,791,792],{"class":293},"btc",[223,794,297],{"class":289},[223,796,797],{"class":258},").",[223,799,506],{"class":324},[223,801,327],{"class":258},[223,803,297],{"class":289},[223,805,806],{"class":293},"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5",[223,808,297],{"class":289},[223,810,337],{"class":258},[223,812,813,816,819,822,825],{"class":225,"line":345},[223,814,815],{"class":258},"} ",[223,817,818],{"class":776},"catch",[223,820,821],{"class":258}," (",[223,823,824],{"class":348},"error",[223,826,827],{"class":258},") {\n",[223,829,830,833,835,837,839,841],{"class":225,"line":364},[223,831,832],{"class":285},"  if",[223,834,821],{"class":258},[223,836,824],{"class":348},[223,838,351],{"class":313},[223,840,750],{"class":354},[223,842,827],{"class":258},[223,844,845,848,850,853,855],{"class":225,"line":377},[223,846,847],{"class":348},"    error",[223,849,382],{"class":258},[223,851,852],{"class":348},"chain",[223,854,357],{"class":258},[223,856,857],{"class":360},"\u002F\u002F \"bitcoin\", the canonical key\n",[223,859,860,862,864,867,869],{"class":225,"line":393},[223,861,847],{"class":348},[223,863,382],{"class":258},[223,865,866],{"class":348},"address",[223,868,357],{"class":258},[223,870,871],{"class":360},"\u002F\u002F the string that failed\n",[223,873,874],{"class":225,"line":408},[223,875,876],{"class":258},"  }\n",[223,878,879],{"class":225,"line":423},[223,880,881],{"class":258},"}\n",[194,883,884,885,888,889,892,893,896,897,892,900,903,904,907,908,911,912,915,916,918],{},"Everything thrown here descends from ",[201,886,887],{},"ChainsError",", so you catch one type and read fields instead of parsing messages. ",[201,890,891],{},"UnknownChainError"," is ",[201,894,895],{},"create()"," with a key nobody registered, ",[201,898,899],{},"UnsupportedChainError",[201,901,902],{},"getChain()"," with a spelling that matches nothing, ",[201,905,906],{},"InvalidAddressError"," is a failed format check, and ",[201,909,910],{},"AddressValidationUnsupportedError"," is a chain that carries no validator at all. ",[201,913,914],{},".chain"," holds the canonical key on the last two, the same value ",[201,917,895],{}," takes.",[189,920,922],{"id":921},"next","Next",[924,925,926,935,940,945,950,959,964,973],"ul",{},[927,928,929,931,932,382],"li",{},[726,930,12],{"href":13},": keys, names, aliases and ",[201,933,934],{},"register",[927,936,937,939],{},[726,938,16],{"href":17},": what each family decodes and which checksums it verifies.",[927,941,942,944],{},[726,943,20],{"href":21},": one address through every validator.",[927,946,947,949],{},[726,948,24],{"href":25},": every field, and where the decimals come from.",[927,951,952,954,955,958],{},[726,953,28],{"href":29},": the ",[201,956,957],{},"chains"," command.",[927,960,961,963],{},[726,962,32],{"href":33},": four tools over MCP, Pi and OMP.",[927,965,966,968,969,972],{},[726,967,36],{"href":37},": extend ",[201,970,971],{},"Chain",", register it.",[927,974,975,978],{},[726,976,40],{"href":977},"\u002Fplayground",": the library, in the page.",[980,981,982],"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 .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 .sP0CR, html code.shiki .sP0CR{--shiki-light:#D73A49;--shiki-default:#D73A49;--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 .snHMy, html code.shiki .snHMy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#ADD7FF}html pre.shiki code .stCPd, html code.shiki .stCPd{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#A6ACCD}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 .s1TYA, html code.shiki .s1TYA{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#91B4D5}html pre.shiki code .saoiD, html code.shiki .saoiD{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#E4F0FB}html pre.shiki code .sULi6, html code.shiki .sULi6{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#E4F0FBD0}html pre.shiki code .spVlQ, html code.shiki .spVlQ{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E4F0FB}html pre.shiki code .sCrqT, html code.shiki .sCrqT{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#A6ACCDC0}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 .szlwh, html code.shiki .szlwh{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#D0679D}",{"title":219,"searchDepth":303,"depth":303,"links":984},[985,986,987,988,989,990],{"id":191,"depth":303,"text":192},{"id":211,"depth":303,"text":212},{"id":240,"depth":303,"text":241},{"id":533,"depth":303,"text":534},{"id":730,"depth":303,"text":731},{"id":921,"depth":303,"text":922},"Install the package. Resolve one chain. Check one address. Every chain is a class and every answer comes from the class that knows the format.","md",null,{"icon":43},{"title":10,"description":991},"nG0vDCUwwImhoZ0APG-ylktcI1DzWS182HUrtk-mWNE",[993,998],{"title":12,"path":13,"stem":14,"description":999,"children":-1},"Keys and display names plus the aliases people actually type. All land on the same class. How the registry is seeded and why nothing registers itself.",1789393739262]