Convert xpub to BTC address using derivation path.
BIP49 (P2SH (Pay 2 Script Hash), 3-addresses) and BIP84 (bech32) are supported.
$ yarn add @riaskov/xpub2address
Available for JavaScript (ES6) and TypeScript.
Enable esModuleInterop
in tsconfig.json
in case of using TS.
Why? For using import x from 'x'
instead of import * as xNS from 'x'
.
import { xpub2Address } from '@riaskov/xpub2address'
const xpub = 'xpub69zoMzNAXE3cuayttWQcdamG8SoWacvbMYrTVNg2eTM325bWJMKo9Uvhp22ajraN7X2D7cnt674ejAJtkYb8Nop5fFrf3MWUN8QmqZdUcua'
const path = `m/49'/0'/0'/0/0`
console.log(xpub2Address(xpub, path))
// 32Cb5T65aRv96t2HNCviymeMy38xc6Btsc
import { xpub2Address } from '@riaskov/xpub2address'
const xpub = 'xpub69zoMzNAXE3cuayttWQcdamG8SoWacvbMYrTVNg2eTM325bWJMKo9Uvhp22ajraN7X2D7cnt674ejAJtkYb8Nop5fFrf3MWUN8QmqZdUcua'
const path = `m/84'/0'/0'/0/0`
console.log(xpub2Address(xpub, path))
// bc1qkedqp6weywmvs84du9dc77xwytrmjmvlldfmed
import { xpub2Address } from '@riaskov/xpub2address'
const xpub = 'tpubDANRtEBrEW15BPAkLhPhqW6dTZuAa1ReuBSkqvjAzN6vmNGDNaAtHvbY447NGMXbuRZ7jCJkdCthRLoW9QSNGFGNirbxitAhx61BbYUeyD9'
const path = `m/49'/0'/0'/0/0`
console.log(xpub2Address(xpub, path))
// 2Msko9C27BtRVJfeq3LYbbiddBPM8S61ASt
Returns a string with derived BTC address.
Type: string
xpub.
Type: string
BIP32 Derivation path like m/84'/coin_type'/account'/change/address
- Only Account #0 in derivation path is supported now.
- bitcoinjs-lib Footprint ~ 300kb
- MIT © 2024 Andrei Riaskov