[{"data":1,"prerenderedAt":324},["ShallowReactive",2],{"navigation_docs":3,"-blockchains-base":72,"-blockchains-base-surround":319},[4,32],{"title":5,"path":6,"stem":7,"children":8,"icon":31},"Guide","\u002Fguide","1.guide\u002F1.index",[9,11,15,19,23,27],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Working with Keys","\u002Fguide\u002Fkeys","1.guide\u002F2.keys",{"title":16,"path":17,"stem":18},"Working with Addresses","\u002Fguide\u002Faddresses","1.guide\u002F3.addresses",{"title":20,"path":21,"stem":22},"Generating Wallets","\u002Fguide\u002Fwallets","1.guide\u002F4.wallets",{"title":24,"path":25,"stem":26},"Working with EVM Chains","\u002Fguide\u002Fevm","1.guide\u002F5.evm",{"title":28,"path":29,"stem":30},"Creating Custom Blockchains","\u002Fguide\u002Fcustom","1.guide\u002F6.custom","i-lucide-book-open",{"title":33,"path":34,"stem":35,"children":36,"icon":71},"Blockchains","\u002Fblockchains","2.blockchains\u002F0.index",[37,39,43,47,51,55,59,63,67],{"title":38,"path":34,"stem":35},"Overview",{"title":40,"path":41,"stem":42},"Aptos","\u002Fblockchains\u002Faptos","2.blockchains\u002Faptos",{"title":44,"path":45,"stem":46},"Base","\u002Fblockchains\u002Fbase","2.blockchains\u002Fbase",{"title":48,"path":49,"stem":50},"Bitcoin","\u002Fblockchains\u002Fbitcoin","2.blockchains\u002Fbitcoin",{"title":52,"path":53,"stem":54},"Cardano","\u002Fblockchains\u002Fcardano","2.blockchains\u002Fcardano",{"title":56,"path":57,"stem":58},"Ethereum","\u002Fblockchains\u002Fethereum","2.blockchains\u002Fethereum",{"title":60,"path":61,"stem":62},"Solana","\u002Fblockchains\u002Fsolana","2.blockchains\u002Fsolana",{"title":64,"path":65,"stem":66},"Sui","\u002Fblockchains\u002Fsui","2.blockchains\u002Fsui",{"title":68,"path":69,"stem":70},"TRON","\u002Fblockchains\u002Ftron","2.blockchains\u002Ftron","i-lucide-boxes",{"id":73,"title":44,"body":74,"description":312,"extension":313,"links":314,"meta":315,"navigation":148,"path":45,"seo":317,"stem":46,"__hash__":318},"docs\u002F2.blockchains\u002Fbase.md",{"type":75,"value":76,"toc":307},"minimark",[77,84,89,185,189,201,259,275,279,297,303],[78,79],"chain-facts",{"coin":80,"curve":81,"driver":82,"formats":83},"60","secp256k1","base","EIP-55 hex",[85,86,88],"h2",{"id":87},"load-it","Load it",[90,91,96],"pre",{"className":92,"code":93,"language":94,"meta":95,"style":95},"language-js shiki shiki-themes github-light github-light poimandres","import { useBlockchain, blockchains } from \"@agntn\u002Fkeys\";\n\nconst baseChain = useBlockchain(await blockchains.base()());\n","js","",[97,98,99,143,150],"code",{"__ignoreMap":95},[100,101,104,108,112,116,119,122,125,129,133,137,140],"span",{"class":102,"line":103},"line",1,[100,105,107],{"class":106},"sP0CR","import",[100,109,111],{"class":110},"sKlNE"," {",[100,113,115],{"class":114},"snHMy"," useBlockchain",[100,117,118],{"class":110},",",[100,120,121],{"class":114}," blockchains",[100,123,124],{"class":110}," }",[100,126,128],{"class":127},"stCPd"," from",[100,130,132],{"class":131},"scVjq"," \"",[100,134,136],{"class":135},"sQ7BG","@agntn\u002Fkeys",[100,138,139],{"class":131},"\"",[100,141,142],{"class":110},";\n",[100,144,146],{"class":102,"line":145},2,[100,147,149],{"emptyLinePlaceholder":148},true,"\n",[100,151,153,157,161,164,167,170,174,177,180,182],{"class":102,"line":152},3,[100,154,156],{"class":155},"s1TYA","const",[100,158,160],{"class":159},"saoiD"," baseChain",[100,162,163],{"class":155}," =",[100,165,115],{"class":166},"sULi6",[100,168,169],{"class":110},"(",[100,171,173],{"class":172},"sZW6a","await",[100,175,121],{"class":176},"spVlQ",[100,178,179],{"class":110},".",[100,181,82],{"class":166},[100,183,184],{"class":110},"()());\n",[85,186,188],{"id":187},"there-is-nothing-base-specific-here","There is nothing Base specific here",[190,191,192,193,196,197,200],"p",{},"Base is an Ethereum L2, and for keys and addresses that means it is Ethereum. The driver is ",[97,194,195],{},"AbstractEVMBlockchain"," with ",[97,198,199],{},"name = \"base\""," and coin type 60, because wallets do not give L2s their own coin type.",[90,202,204],{"className":92,"code":203,"language":94,"meta":95,"style":95},"const privateKey = \"0000000000000000000000000000000000000000000000000000000000000001\";\n\nbaseChain.getAddress(baseChain.getKeyPublic(privateKey)); \u002F\u002F 0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf\n",[97,205,206,224,228],{"__ignoreMap":95},[100,207,208,210,213,215,217,220,222],{"class":102,"line":103},[100,209,156],{"class":155},[100,211,212],{"class":159}," privateKey",[100,214,163],{"class":155},[100,216,132],{"class":131},[100,218,219],{"class":135},"0000000000000000000000000000000000000000000000000000000000000001",[100,221,139],{"class":131},[100,223,142],{"class":110},[100,225,226],{"class":102,"line":145},[100,227,149],{"emptyLinePlaceholder":148},[100,229,230,233,235,238,240,242,244,247,249,252,255],{"class":102,"line":152},[100,231,232],{"class":176},"baseChain",[100,234,179],{"class":110},[100,236,237],{"class":166},"getAddress",[100,239,169],{"class":110},[100,241,232],{"class":176},[100,243,179],{"class":110},[100,245,246],{"class":166},"getKeyPublic",[100,248,169],{"class":110},[100,250,251],{"class":176},"privateKey",[100,253,254],{"class":110},")); ",[100,256,258],{"class":257},"sjhu3","\u002F\u002F 0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf\n",[190,260,261,262,265,266,269,270,274],{},"Same address as Ethereum for the same key, same EIP-55 checksum, same ",[97,263,264],{},"personal_sign"," preamble on ",[97,267,268],{},"signMessage",". Everything on the ",[271,272,273],"a",{"href":57},"Ethereum page"," applies verbatim.",[85,276,278],{"id":277},"so-why-a-separate-driver","So why a separate driver",[190,280,281,282,285,286,288,289,292,293,296],{},"Two reasons. ",[97,283,284],{},"name"," is what the MCP tools and the lazy loader key on, so an agent can say ",[97,287,82],{}," and mean it. And ",[97,290,291],{},"deriveHDWallet"," on Base still uses ",[97,294,295],{},"m\u002F44'\u002F60'\u002F...",", which is what every wallet does, but having the driver state it keeps that decision visible instead of implied.",[190,298,299,300,302],{},"If you only ever call ",[97,301,237],{},", using the Ethereum driver for Base is fine and you will not be able to tell the difference. The funds will not either, which is the part to be careful about: an address is the same on both chains, the balance is not.",[304,305,306],"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 .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 .sZW6a, html code.shiki .sZW6a{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7C0}html pre.shiki code .spVlQ, html code.shiki .spVlQ{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E4F0FB}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}",{"title":95,"searchDepth":145,"depth":145,"links":308},[309,310,311],{"id":87,"depth":145,"text":88},{"id":187,"depth":145,"text":188},{"id":277,"depth":145,"text":278},"Ethereum's driver under another name. Same key, same address, same signatures.","md",null,{"icon":316},"i-lucide-layers",{"title":44,"description":312},"cWBnQ0Lht2SQiyeFgf8bgG--9qLmIP1BuJvb8GOXNY8",[320,322],{"title":40,"path":41,"stem":42,"description":321,"children":-1},"ed25519 with addresses from SHA3-256 over the public key and a scheme byte.",{"title":48,"path":49,"stem":50,"description":323,"children":-1},"secp256k1 with legacy, p2sh, segwit, p2wsh, and taproot addresses, on mainnet and testnet.",1788428715659]