Skip to content

Convert xpub to BTC address using derivation path.

License

Notifications You must be signed in to change notification settings

ARyaskov/xpub2Address

Repository files navigation

xpub2Address Bitcoin Badge npm Badge

Convert xpub to BTC address using derivation path.

BIP49 (P2SH (Pay 2 Script Hash), 3-addresses) and BIP84 (bech32) are supported.

Install

$ yarn add @riaskov/xpub2address

Usage

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

API

xpub2Address(xpub: string, path: string)

Returns a string with derived BTC address.

xpub

Type: string

xpub.

path

Type: string

BIP32 Derivation path like m/84'/coin_type'/account'/change/address

Known issues

  • Only Account #0 in derivation path is supported now.

Dependencies:

PR's are welcome!

License