[{"data":1,"prerenderedAt":432},["ShallowReactive",2],{"navigation_docs":3,"-blockchains-aptos":84,"-blockchains-aptos-surround":427},[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":83},"Blockchains","\u002Fblockchains","2.blockchains\u002F0.index",[37,39,43,47,51,55,59,63,67,71,75,79],{"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},"Decred","\u002Fblockchains\u002Fdecred","2.blockchains\u002Fdecred",{"title":60,"path":61,"stem":62},"Ethereum","\u002Fblockchains\u002Fethereum","2.blockchains\u002Fethereum",{"title":64,"path":65,"stem":66},"Litecoin","\u002Fblockchains\u002Flitecoin","2.blockchains\u002Flitecoin",{"title":68,"path":69,"stem":70},"Solana","\u002Fblockchains\u002Fsolana","2.blockchains\u002Fsolana",{"title":72,"path":73,"stem":74},"Stellar","\u002Fblockchains\u002Fstellar","2.blockchains\u002Fstellar",{"title":76,"path":77,"stem":78},"Sui","\u002Fblockchains\u002Fsui","2.blockchains\u002Fsui",{"title":80,"path":81,"stem":82},"TRON","\u002Fblockchains\u002Ftron","2.blockchains\u002Ftron","i-lucide-boxes",{"id":85,"title":40,"body":86,"description":420,"extension":421,"links":422,"meta":423,"navigation":160,"path":41,"seo":425,"stem":42,"__hash__":426},"docs\u002F2.blockchains\u002Faptos.md",{"type":87,"value":88,"toc":413},"minimark",[89,96,101,197,201,213,264,267,271,343,351,355,358,395,398,402,409],[90,91],"chain-facts",{"coin":92,"curve":93,"driver":94,"formats":95},"637","ed25519","aptos","0x hex",[97,98,100],"h2",{"id":99},"load-it","Load it",[102,103,108],"pre",{"className":104,"code":105,"language":106,"meta":107,"style":107},"language-js shiki shiki-themes github-light github-light poimandres","import { useBlockchain, blockchains } from \"@agntn\u002Fkeys\";\n\nconst aptosChain = useBlockchain(await blockchains.aptos()());\n","js","",[109,110,111,155,162],"code",{"__ignoreMap":107},[112,113,116,120,124,128,131,134,137,141,145,149,152],"span",{"class":114,"line":115},"line",1,[112,117,119],{"class":118},"sP0CR","import",[112,121,123],{"class":122},"sKlNE"," {",[112,125,127],{"class":126},"snHMy"," useBlockchain",[112,129,130],{"class":122},",",[112,132,133],{"class":126}," blockchains",[112,135,136],{"class":122}," }",[112,138,140],{"class":139},"stCPd"," from",[112,142,144],{"class":143},"scVjq"," \"",[112,146,148],{"class":147},"sQ7BG","@agntn\u002Fkeys",[112,150,151],{"class":143},"\"",[112,153,154],{"class":122},";\n",[112,156,158],{"class":114,"line":157},2,[112,159,161],{"emptyLinePlaceholder":160},true,"\n",[112,163,165,169,173,176,179,182,186,189,192,194],{"class":114,"line":164},3,[112,166,168],{"class":167},"s1TYA","const",[112,170,172],{"class":171},"saoiD"," aptosChain",[112,174,175],{"class":167}," =",[112,177,127],{"class":178},"sULi6",[112,180,181],{"class":122},"(",[112,183,185],{"class":184},"sZW6a","await",[112,187,133],{"class":188},"spVlQ",[112,190,191],{"class":122},".",[112,193,94],{"class":178},[112,195,196],{"class":122},"()());\n",[97,198,200],{"id":199},"the-address","The address",[202,203,204,205,208,209,212],"p",{},"Public key, then one scheme byte ",[109,206,207],{},"0x00"," for a single ed25519 signer, then SHA3-256. The 32 byte digest with ",[109,210,211],{},"0x"," in front is the address.",[102,214,216],{"className":104,"code":215,"language":106,"meta":107,"style":107},"const publicKey = aptosChain.getKeyPublic(privateKey);\naptosChain.getAddress(publicKey); \u002F\u002F 0x7e08ac7940568c91564ddc6f5f3bf91b15a9334194ab7855daeac51c5cc74936\n",[109,217,218,242],{"__ignoreMap":107},[112,219,220,222,225,227,229,231,234,236,239],{"class":114,"line":115},[112,221,168],{"class":167},[112,223,224],{"class":171}," publicKey",[112,226,175],{"class":167},[112,228,172],{"class":188},[112,230,191],{"class":122},[112,232,233],{"class":178},"getKeyPublic",[112,235,181],{"class":122},[112,237,238],{"class":188},"privateKey",[112,240,241],{"class":122},");\n",[112,243,244,247,249,252,254,257,260],{"class":114,"line":157},[112,245,246],{"class":188},"aptosChain",[112,248,191],{"class":122},[112,250,251],{"class":178},"getAddress",[112,253,181],{"class":122},[112,255,256],{"class":188},"publicKey",[112,258,259],{"class":122},"); ",[112,261,263],{"class":262},"sjhu3","\u002F\u002F 0x7e08ac7940568c91564ddc6f5f3bf91b15a9334194ab7855daeac51c5cc74936\n",[202,265,266],{},"The scheme byte is the part people forget when they reimplement this by hand. Hash the bare key and you get a valid looking address that belongs to nobody.",[97,268,270],{"id":269},"validation","Validation",[102,272,274],{"className":104,"code":273,"language":106,"meta":107,"style":107},"aptosChain.validateAddress(\"0x7e08ac7940568c91564ddc6f5f3bf91b15a9334194ab7855daeac51c5cc74936\"); \u002F\u002F true\naptosChain.validateAddress(\"0x1\"); \u002F\u002F true, special address\naptosChain.validateAddress(\"7e08ac7940568c91564ddc6f5f3bf91b15a9334194ab7855daeac51c5cc74936\"); \u002F\u002F false, no 0x\n",[109,275,276,299,321],{"__ignoreMap":107},[112,277,278,280,282,285,287,289,292,294,296],{"class":114,"line":115},[112,279,246],{"class":188},[112,281,191],{"class":122},[112,283,284],{"class":178},"validateAddress",[112,286,181],{"class":122},[112,288,151],{"class":143},[112,290,291],{"class":147},"0x7e08ac7940568c91564ddc6f5f3bf91b15a9334194ab7855daeac51c5cc74936",[112,293,151],{"class":143},[112,295,259],{"class":122},[112,297,298],{"class":262},"\u002F\u002F true\n",[112,300,301,303,305,307,309,311,314,316,318],{"class":114,"line":157},[112,302,246],{"class":188},[112,304,191],{"class":122},[112,306,284],{"class":178},[112,308,181],{"class":122},[112,310,151],{"class":143},[112,312,313],{"class":147},"0x1",[112,315,151],{"class":143},[112,317,259],{"class":122},[112,319,320],{"class":262},"\u002F\u002F true, special address\n",[112,322,323,325,327,329,331,333,336,338,340],{"class":114,"line":164},[112,324,246],{"class":188},[112,326,191],{"class":122},[112,328,284],{"class":178},[112,330,181],{"class":122},[112,332,151],{"class":143},[112,334,335],{"class":147},"7e08ac7940568c91564ddc6f5f3bf91b15a9334194ab7855daeac51c5cc74936",[112,337,151],{"class":143},[112,339,259],{"class":122},[112,341,342],{"class":262},"\u002F\u002F false, no 0x\n",[202,344,345,347,348,350],{},[109,346,211],{}," plus 64 hex characters, case doesn't matter. The single digit forms like ",[109,349,313],{}," are the framework addresses and validate as well. There's no checksum, so a wrong character produces a different valid address instead of an error. Copy carefully.",[97,352,354],{"id":353},"mnemonics","Mnemonics",[202,356,357],{},"SLIP-10, hardened segments only:",[102,359,361],{"className":104,"code":360,"language":106,"meta":107,"style":107},"aptosChain.deriveHDWallet(mnemonic, \"m\u002F44'\u002F637'\u002F0'\u002F0'\u002F0'\").address;\n",[109,362,363],{"__ignoreMap":107},[112,364,365,367,369,372,374,377,380,382,385,387,390,393],{"class":114,"line":115},[112,366,246],{"class":188},[112,368,191],{"class":122},[112,370,371],{"class":178},"deriveHDWallet",[112,373,181],{"class":122},[112,375,376],{"class":188},"mnemonic",[112,378,379],{"class":122},", ",[112,381,151],{"class":143},[112,383,384],{"class":147},"m\u002F44'\u002F637'\u002F0'\u002F0'\u002F0'",[112,386,151],{"class":143},[112,388,389],{"class":122},").",[112,391,392],{"class":188},"address",[112,394,154],{"class":122},[202,396,397],{},"That is the path Petra uses for the first account.",[97,399,401],{"id":400},"signing","Signing",[202,403,404,405,408],{},"Plain ed25519 over the message bytes, hex out. ",[109,406,407],{},"verifyMessage"," checks it against the public key.",[410,411,412],"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":107,"searchDepth":157,"depth":157,"links":414},[415,416,417,418,419],{"id":99,"depth":157,"text":100},{"id":199,"depth":157,"text":200},{"id":269,"depth":157,"text":270},{"id":353,"depth":157,"text":354},{"id":400,"depth":157,"text":401},"ed25519 with addresses from SHA3-256 over the public key and a scheme byte.","md",null,{"icon":424},"i-token-apt",{"title":40,"description":420},"RU7Uekf4dxIvIJgPmrO6a6JSjYktjKqOcuN9JS6E4cs",[428,430],{"title":38,"path":34,"stem":35,"description":429,"children":-1},"Eleven drivers and one class shape. Pick a chain to see its address rules and the traps.",{"title":44,"path":45,"stem":46,"description":431,"children":-1},"Ethereum's driver under another name. Same key. Same address. Same signatures.",1789827526013]