[{"data":1,"prerenderedAt":949},["ShallowReactive",2],{"navigation_docs":3,"-guide-custom":120,"-guide-custom-surround":944},[4,56,116],{"title":5,"path":6,"stem":7,"children":8,"icon":55},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43,47,51],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"CLI","\u002Fguide\u002Fcli","1.guide\u002F02.cli",{"title":16,"path":17,"stem":18},"Provider selection","\u002Fguide\u002Fselection","1.guide\u002F03.selection",{"title":20,"path":21,"stem":22},"Balances","\u002Fguide\u002Fbalances","1.guide\u002F04.balances",{"title":24,"path":25,"stem":26},"Transactions","\u002Fguide\u002Ftransactions","1.guide\u002F05.transactions",{"title":28,"path":29,"stem":30},"Tokens","\u002Fguide\u002Ftokens","1.guide\u002F06.tokens",{"title":32,"path":33,"stem":34},"Contracts","\u002Fguide\u002Fcontracts","1.guide\u002F07.contracts",{"title":36,"path":37,"stem":38},"Gas and blocks","\u002Fguide\u002Fgas-and-blocks","1.guide\u002F08.gas-and-blocks",{"title":40,"path":41,"stem":42},"Errors","\u002Fguide\u002Ferrors","1.guide\u002F09.errors",{"title":44,"path":45,"stem":46},"Agents","\u002Fguide\u002Fagents","1.guide\u002F10.agents",{"title":48,"path":49,"stem":50},"Custom providers","\u002Fguide\u002Fcustom","1.guide\u002F11.custom",{"title":52,"path":53,"stem":54},"Explorer","\u002Fguide\u002Fexplorer","1.guide\u002F12.explorer","i-solar-book-2-linear",{"title":57,"path":58,"stem":59,"children":60,"icon":115},"Providers","\u002Fproviders","2.providers\u002F0.index",[61,63,67,71,75,79,83,87,91,95,99,103,107,111],{"title":62,"path":58,"stem":59},"Overview",{"title":64,"path":65,"stem":66},"Etherscan","\u002Fproviders\u002Fetherscan","2.providers\u002F01.etherscan",{"title":68,"path":69,"stem":70},"Blockscout","\u002Fproviders\u002Fblockscout","2.providers\u002F02.blockscout",{"title":72,"path":73,"stem":74},"Blockchair","\u002Fproviders\u002Fblockchair","2.providers\u002F03.blockchair",{"title":76,"path":77,"stem":78},"Mempool","\u002Fproviders\u002Fmempool","2.providers\u002F04.mempool",{"title":80,"path":81,"stem":82},"Blockstream","\u002Fproviders\u002Fblockstream","2.providers\u002F05.blockstream",{"title":84,"path":85,"stem":86},"Solscan","\u002Fproviders\u002Fsolscan","2.providers\u002F06.solscan",{"title":88,"path":89,"stem":90},"Helius","\u002Fproviders\u002Fhelius","2.providers\u002F07.helius",{"title":92,"path":93,"stem":94},"TONAPI","\u002Fproviders\u002Fton","2.providers\u002F08.ton",{"title":96,"path":97,"stem":98},"TRONSCAN","\u002Fproviders\u002Ftronscan","2.providers\u002F09.tronscan",{"title":100,"path":101,"stem":102},"Aptos Explorer","\u002Fproviders\u002Faptos","2.providers\u002F10.aptos",{"title":104,"path":105,"stem":106},"Blockberry","\u002Fproviders\u002Fblockberry","2.providers\u002F11.blockberry",{"title":108,"path":109,"stem":110},"Koios","\u002Fproviders\u002Fkoios","2.providers\u002F12.koios",{"title":112,"path":113,"stem":114},"Arweave gateway","\u002Fproviders\u002Farweave","2.providers\u002F13.arweave","i-solar-library-linear",{"title":117,"path":118,"stem":119},"Chains","\u002Fchains","3.chains",{"id":121,"title":48,"body":122,"description":937,"extension":938,"links":939,"meta":940,"navigation":212,"path":49,"seo":942,"stem":50,"__hash__":943},"docs\u002F1.guide\u002F11.custom.md",{"type":123,"value":124,"toc":931},"minimark",[125,130,754,800,819,823,854,858,865,913,916,920,927],[126,127,129],"h2",{"id":128},"one-class","One class",[131,132,138],"pre",{"className":133,"code":134,"filename":135,"language":136,"meta":137,"style":137},"language-ts shiki shiki-themes github-light github-light poimandres","import { Provider, register, type Balance, type ChainKey, type Transaction } from \"@agntn\u002Fexplorers\";\n\nclass MyExplorer extends Provider {\n  static readonly key = \"my-explorer\";\n\n  get capabilities() {\n    return {\n      balances: true,\n      txHistory: true,\n      txDetail: false,\n      contractInfo: false,\n      tokenBalances: false,\n      tokenTransfers: false,\n      gasData: false,\n      blockInfo: false,\n    };\n  }\n\n  async getBalance(address: string, chain?: ChainKey): Promise\u003CBalance> {\n    const answer = await this.getJSON\u003C{ balance: string }>(`https:\u002F\u002Fmy.explorer\u002Fapi\u002F${address}`);\n    return this.snapshotBalance({\n      address,\n      chain: chain ?? \"ethereum\",\n      balance: answer.balance,\n      balanceFormatted: formatWei(answer.balance, 18),\n      symbol: \"ETH\",\n    });\n  }\n\n  async getTxHistory(address: string, chain?: ChainKey): Promise\u003CTransaction[]> {\n    \u002F\u002F map the explorer's rows onto Transaction\n  }\n}\n\nregister(MyExplorer, { chains: [\"ethereum\"], capabilities: [\"balances\", \"txHistory\"] });\n","my-explorer.ts","ts","",[139,140,141,207,214,233,258,263,275,284,300,312,326,338,350,362,374,386,392,398,403,454,511,526,534,557,573,601,618,624,629,634,672,679,684,690,695],"code",{"__ignoreMap":137},[142,143,146,150,154,158,161,164,166,170,173,175,177,180,182,184,187,190,193,197,201,204],"span",{"class":144,"line":145},"line",1,[142,147,149],{"class":148},"sP0CR","import",[142,151,153],{"class":152},"sKlNE"," {",[142,155,157],{"class":156},"snHMy"," Provider",[142,159,160],{"class":152},",",[142,162,163],{"class":156}," register",[142,165,160],{"class":152},[142,167,169],{"class":168},"stCPd"," type",[142,171,172],{"class":156}," Balance",[142,174,160],{"class":152},[142,176,169],{"class":168},[142,178,179],{"class":156}," ChainKey",[142,181,160],{"class":152},[142,183,169],{"class":168},[142,185,186],{"class":156}," Transaction",[142,188,189],{"class":152}," }",[142,191,192],{"class":168}," from",[142,194,196],{"class":195},"scVjq"," \"",[142,198,200],{"class":199},"sQ7BG","@agntn\u002Fexplorers",[142,202,203],{"class":195},"\"",[142,205,206],{"class":152},";\n",[142,208,210],{"class":144,"line":209},2,[142,211,213],{"emptyLinePlaceholder":212},true,"\n",[142,215,217,221,225,228,230],{"class":144,"line":216},3,[142,218,220],{"class":219},"s1TYA","class",[142,222,224],{"class":223},"scZRh"," MyExplorer",[142,226,227],{"class":148}," extends",[142,229,157],{"class":223},[142,231,232],{"class":152}," {\n",[142,234,236,239,242,246,249,251,254,256],{"class":144,"line":235},4,[142,237,238],{"class":148},"  static",[142,240,241],{"class":148}," readonly",[142,243,245],{"class":244},"s0VbO"," key",[142,247,248],{"class":219}," =",[142,250,196],{"class":195},[142,252,253],{"class":199},"my-explorer",[142,255,203],{"class":195},[142,257,206],{"class":152},[142,259,261],{"class":144,"line":260},5,[142,262,213],{"emptyLinePlaceholder":212},[142,264,266,269,272],{"class":144,"line":265},6,[142,267,268],{"class":219},"  get",[142,270,271],{"class":223}," capabilities",[142,273,274],{"class":152},"() {\n",[142,276,278,282],{"class":144,"line":277},7,[142,279,281],{"class":280},"sZW6a","    return",[142,283,232],{"class":152},[142,285,287,290,293,297],{"class":144,"line":286},8,[142,288,289],{"class":156},"      balances",[142,291,292],{"class":152},":",[142,294,296],{"class":295},"siHFe"," true",[142,298,299],{"class":152},",\n",[142,301,303,306,308,310],{"class":144,"line":302},9,[142,304,305],{"class":156},"      txHistory",[142,307,292],{"class":152},[142,309,296],{"class":295},[142,311,299],{"class":152},[142,313,315,318,320,324],{"class":144,"line":314},10,[142,316,317],{"class":156},"      txDetail",[142,319,292],{"class":152},[142,321,323],{"class":322},"sNe8j"," false",[142,325,299],{"class":152},[142,327,329,332,334,336],{"class":144,"line":328},11,[142,330,331],{"class":156},"      contractInfo",[142,333,292],{"class":152},[142,335,323],{"class":322},[142,337,299],{"class":152},[142,339,341,344,346,348],{"class":144,"line":340},12,[142,342,343],{"class":156},"      tokenBalances",[142,345,292],{"class":152},[142,347,323],{"class":322},[142,349,299],{"class":152},[142,351,353,356,358,360],{"class":144,"line":352},13,[142,354,355],{"class":156},"      tokenTransfers",[142,357,292],{"class":152},[142,359,323],{"class":322},[142,361,299],{"class":152},[142,363,365,368,370,372],{"class":144,"line":364},14,[142,366,367],{"class":156},"      gasData",[142,369,292],{"class":152},[142,371,323],{"class":322},[142,373,299],{"class":152},[142,375,377,380,382,384],{"class":144,"line":376},15,[142,378,379],{"class":156},"      blockInfo",[142,381,292],{"class":152},[142,383,323],{"class":322},[142,385,299],{"class":152},[142,387,389],{"class":144,"line":388},16,[142,390,391],{"class":152},"    };\n",[142,393,395],{"class":144,"line":394},17,[142,396,397],{"class":152},"  }\n",[142,399,401],{"class":144,"line":400},18,[142,402,213],{"emptyLinePlaceholder":212},[142,404,406,409,412,415,419,421,425,428,431,434,437,440,442,445,448,451],{"class":144,"line":405},19,[142,407,408],{"class":148},"  async",[142,410,411],{"class":223}," getBalance",[142,413,414],{"class":152},"(",[142,416,418],{"class":417},"s1jWp","address",[142,420,292],{"class":219},[142,422,424],{"class":423},"s8yaW"," string",[142,426,427],{"class":152},", ",[142,429,430],{"class":417},"chain",[142,432,433],{"class":219},"?:",[142,435,179],{"class":436},"sCrqT",[142,438,439],{"class":152},")",[142,441,292],{"class":219},[142,443,444],{"class":436}," Promise",[142,446,447],{"class":152},"\u003C",[142,449,450],{"class":436},"Balance",[142,452,453],{"class":152},"> {\n",[142,455,457,460,464,466,469,473,476,480,483,486,488,490,493,496,499,502,505,508],{"class":144,"line":456},20,[142,458,459],{"class":219},"    const",[142,461,463],{"class":462},"saoiD"," answer",[142,465,248],{"class":219},[142,467,468],{"class":280}," await",[142,470,472],{"class":471},"s-lox"," this",[142,474,475],{"class":152},".",[142,477,479],{"class":478},"sULi6","getJSON",[142,481,482],{"class":152},"\u003C{ ",[142,484,485],{"class":244},"balance",[142,487,292],{"class":219},[142,489,424],{"class":423},[142,491,492],{"class":152}," }>(",[142,494,495],{"class":195},"`",[142,497,498],{"class":199},"https:\u002F\u002Fmy.explorer\u002Fapi\u002F",[142,500,501],{"class":195},"${",[142,503,418],{"class":504},"spVlQ",[142,506,507],{"class":195},"}`",[142,509,510],{"class":152},");\n",[142,512,514,516,518,520,523],{"class":144,"line":513},21,[142,515,281],{"class":280},[142,517,472],{"class":471},[142,519,475],{"class":152},[142,521,522],{"class":478},"snapshotBalance",[142,524,525],{"class":152},"({\n",[142,527,529,532],{"class":144,"line":528},22,[142,530,531],{"class":504},"      address",[142,533,299],{"class":152},[142,535,537,540,542,545,548,550,553,555],{"class":144,"line":536},23,[142,538,539],{"class":156},"      chain",[142,541,292],{"class":152},[142,543,544],{"class":504}," chain",[142,546,547],{"class":219}," ??",[142,549,196],{"class":195},[142,551,552],{"class":199},"ethereum",[142,554,203],{"class":195},[142,556,299],{"class":152},[142,558,560,563,565,567,569,571],{"class":144,"line":559},24,[142,561,562],{"class":156},"      balance",[142,564,292],{"class":152},[142,566,463],{"class":504},[142,568,475],{"class":152},[142,570,485],{"class":504},[142,572,299],{"class":152},[142,574,576,579,581,584,586,589,591,593,595,598],{"class":144,"line":575},25,[142,577,578],{"class":156},"      balanceFormatted",[142,580,292],{"class":152},[142,582,583],{"class":478}," formatWei",[142,585,414],{"class":152},[142,587,588],{"class":504},"answer",[142,590,475],{"class":152},[142,592,485],{"class":504},[142,594,160],{"class":152},[142,596,597],{"class":295}," 18",[142,599,600],{"class":152},"),\n",[142,602,604,607,609,611,614,616],{"class":144,"line":603},26,[142,605,606],{"class":156},"      symbol",[142,608,292],{"class":152},[142,610,196],{"class":195},[142,612,613],{"class":199},"ETH",[142,615,203],{"class":195},[142,617,299],{"class":152},[142,619,621],{"class":144,"line":620},27,[142,622,623],{"class":152},"    });\n",[142,625,627],{"class":144,"line":626},28,[142,628,397],{"class":152},[142,630,632],{"class":144,"line":631},29,[142,633,213],{"emptyLinePlaceholder":212},[142,635,637,639,642,644,646,648,650,652,654,656,658,660,662,664,666,669],{"class":144,"line":636},30,[142,638,408],{"class":148},[142,640,641],{"class":223}," getTxHistory",[142,643,414],{"class":152},[142,645,418],{"class":417},[142,647,292],{"class":219},[142,649,424],{"class":423},[142,651,427],{"class":152},[142,653,430],{"class":417},[142,655,433],{"class":219},[142,657,179],{"class":436},[142,659,439],{"class":152},[142,661,292],{"class":219},[142,663,444],{"class":436},[142,665,447],{"class":152},[142,667,668],{"class":436},"Transaction",[142,670,671],{"class":152},"[]> {\n",[142,673,675],{"class":144,"line":674},31,[142,676,678],{"class":677},"sjhu3","    \u002F\u002F map the explorer's rows onto Transaction\n",[142,680,682],{"class":144,"line":681},32,[142,683,397],{"class":152},[142,685,687],{"class":144,"line":686},33,[142,688,689],{"class":152},"}\n",[142,691,693],{"class":144,"line":692},34,[142,694,213],{"emptyLinePlaceholder":212},[142,696,698,701,703,706,709,712,714,717,719,721,723,726,728,730,732,734,737,739,741,743,746,748,751],{"class":144,"line":697},35,[142,699,700],{"class":478},"register",[142,702,414],{"class":152},[142,704,705],{"class":504},"MyExplorer",[142,707,708],{"class":152},", {",[142,710,711],{"class":156}," chains",[142,713,292],{"class":152},[142,715,716],{"class":152}," [",[142,718,203],{"class":195},[142,720,552],{"class":199},[142,722,203],{"class":195},[142,724,725],{"class":152},"],",[142,727,271],{"class":156},[142,729,292],{"class":152},[142,731,716],{"class":152},[142,733,203],{"class":195},[142,735,736],{"class":199},"balances",[142,738,203],{"class":195},[142,740,160],{"class":152},[142,742,196],{"class":195},[142,744,745],{"class":199},"txHistory",[142,747,203],{"class":195},[142,749,750],{"class":152},"]",[142,752,753],{"class":152}," });\n",[755,756,757,758,761,762,765,766,769,770,773,774,777,778,781,782,761,785,788,789,792,793,796,797,475],"p",{},"Three things the base class gives you. ",[139,759,760],{},"this.getJSON()"," and ",[139,763,764],{},"this.postJSON()"," go through the shared client, so the configured timeout, the ",[139,767,768],{},"explorers\u002F\u003Cversion>"," user agent, the out-of-range integer preservation and ",[139,771,772],{},"normalizeError"," all apply. ",[139,775,776],{},"this.snapshotBalance()"," stamps ",[139,779,780],{},"fetchedAt"," and fills ",[139,783,784],{},"blockNumber",[139,786,787],{},"blockHash"," with what you pass or ",[139,790,791],{},"null",". And ",[139,794,795],{},"this.name"," is your ",[139,798,799],{},"static readonly key",[755,801,802,803,806,807,810,811,814,815,818],{},"Optional operations are optional: define ",[139,804,805],{},"getTxDetail"," and the rest only when they are real, and keep ",[139,808,809],{},"capabilities"," in step. The one rule is the honest one, a flag that is ",[139,812,813],{},"true"," has a method behind it, a flag that is ",[139,816,817],{},"false"," has none.",[126,820,822],{"id":821},"registration","Registration",[755,824,825,828,829,832,833,832,835,838,839,427,842,845,846,849,850,853],{},[139,826,827],{},"register(providerClass, meta)"," takes the class and what the registry needs to answer without an instance: ",[139,830,831],{},"chains",", optional ",[139,834,809],{},[139,836,837],{},"defaultURL",". After that ",[139,840,841],{},"create(\"my-explorer\")",[139,843,844],{},"resolveProvider(undefined, \"ethereum\")"," and the CLI's ",[139,847,848],{},"--provider my-explorer"," all see it. Capabilities are optional in ",[139,851,852],{},"meta"," for backward compatibility, but leave them out and selection by capability will skip your provider, so put them in.",[126,855,857],{"id":856},"inside-the-package","Inside the package",[755,859,860,861,864],{},"A provider that ships with the package follows five steps, and ",[139,862,863],{},"test\u002Funit\u002Fregistry.test.ts"," fails when one is skipped:",[866,867,868,882,885,888,902],"ol",{},[869,870,871,872,875,876,879,880,475],"li",{},"A class extending ",[139,873,874],{},"Provider"," in ",[139,877,878],{},"src\u002Fproviders\u002F",", with one unique ",[139,881,799],{},[869,883,884],{},"Balances and history implemented, and only the optional methods that really work advertised.",[869,886,887],{},"The class exported.",[869,889,890,891,875,894,897,898,901],{},"An entry in ",[139,892,893],{},"builtins",[139,895,896],{},"src\u002Fproviders\u002Findex.ts"," with its chains, capabilities, public endpoint and a ",[139,899,900],{},"load"," that imports the module.",[869,903,904,905,908,909,912],{},"The file added to ",[139,906,907],{},"build.config.ts",", so it ships as its own bundle and ",[139,910,911],{},"create()"," can import it alone.",[755,914,915],{},"The test compares the list against the files on disk, against the key of the class each entry loads, and against the build inputs. Metadata cannot drift away from the implementation without a red test.",[126,917,919],{"id":918},"nothing-runs-on-import","Nothing runs on import",[755,921,922,923,926],{},"Library modules evaluate to declarations only. A derived value, a ",[139,924,925],{},"new Set()",", a prebuilt map, a decoder, waits for its first use. That is what keeps every bundle except the CLI under a kilobyte of side effects, and what lets a consumer import one provider without paying for twelve. A custom provider that keeps to the same rule stays tree-shakable in the bundle that carries it.",[928,929,930],"style",{},"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 .scZRh, html code.shiki .scZRh{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#ADD7FF}html pre.shiki code .s0VbO, html code.shiki .s0VbO{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#A6ACCD}html pre.shiki code .sZW6a, html code.shiki .sZW6a{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7C0}html pre.shiki code .siHFe, html code.shiki .siHFe{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#5DE4C7}html pre.shiki code .sNe8j, html code.shiki .sNe8j{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#D0679D}html pre.shiki code .s1jWp, html code.shiki .s1jWp{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#E4F0FB}html pre.shiki code .s8yaW, html code.shiki .s8yaW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#A6ACCDC0}html pre.shiki code .sCrqT, html code.shiki .sCrqT{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#A6ACCDC0}html pre.shiki code .saoiD, html code.shiki .saoiD{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#E4F0FB}html pre.shiki code .s-lox, html code.shiki .s-lox{--shiki-light:#005CC5;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#5DE4C7;--shiki-dark-font-style:italic}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 .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 .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);}",{"title":137,"searchDepth":209,"depth":209,"links":932},[933,934,935,936],{"id":128,"depth":209,"text":129},{"id":821,"depth":209,"text":822},{"id":856,"depth":209,"text":857},{"id":918,"depth":209,"text":919},"Extend Provider for an explorer this package does not know, register it with its chains and capabilities, and let selection find it.","md",null,{"icon":941},"i-solar-add-circle-linear",{"title":48,"description":937},"LtRPwDFIrwtPKfPBWvf8og5E3i7DMwcyKnJrQYR33fg",[945,947],{"title":44,"path":45,"stem":46,"description":946,"children":-1},"The same nine read-only tools over MCP, the Pi extension and the OMP extension, how a provider is chosen for a tool call, and what a tool never does.",{"title":52,"path":53,"stem":54,"description":948,"children":-1},"The block explorer behind explorers.agntn.dev, a search box and address, transaction and block pages on 23 chains, running the library live through a Cloudflare Worker.",1788626961518]