# bip32

> A BIP32 compatible library

Latest version **5.0.1** (published 2026-02-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install bip32
pnpm add bip32
yarn add bip32
bun add bip32
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 5.0.1 |
| Published | 2026-02-19 |
| First published | 2015-06-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=18.0.0 |
| Dependencies | 5 |
| Unpacked size | 53.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 196 |
| Author | Daniel Cousens |
| Maintainers | fanatid, jprichardson, junderw, jl.landabaso |
| Keywords | bip32, bitcoinjs, bitcoin, secp256k1 |

## Links

- npm: https://www.npmjs.com/package/bip32
- Repository: https://github.com/bitcoinjs/bip32
- Homepage: https://github.com/bitcoinjs/bip32#readme
- Issues: https://github.com/bitcoinjs/bip32/issues
- npm.io page: https://npm.io/package/bip32

## Dependencies (5)

- [wif](https://npm.io/package/wif.md) ^5.0.0
- [valibot](https://npm.io/package/valibot.md) ^1.2.0
- [@scure/base](https://npm.io/package/@scure/base.md) ^1.1.1
- [@noble/hashes](https://npm.io/package/@noble/hashes.md) ^1.2.0
- [uint8array-tools](https://npm.io/package/uint8array-tools.md) ^0.0.8

## Recent versions

- 5.0.1 (latest) — 2026-02-19
- 5.0.0 — 2025-10-02
- 5.0.0-rc.0 — 2024-09-08
- 4.0.0 — 2023-02-25
- 3.1.0 — 2022-09-25
- 3.0.1 — 2021-11-16
- 3.0.0 — 2021-11-11
- 2.0.6 — 2020-09-27
- 2.0.5 — 2020-01-09
- 2.0.4 — 2019-07-25
- 2.0.3 — 2019-05-21
- 1.0.4 — 2019-04-05
- 2.0.2 — 2019-04-05
- 1.0.3 — 2019-04-04
- 2.0.1 — 2019-04-01
- … 7 more at https://npm.io/package/bip32/versions

## README

# bip32
[![Github CI](https://github.com/bitcoinjs/bip32/actions/workflows/main_ci.yml/badge.svg)](https://github.com/bitcoinjs/bip32/actions/workflows/main_ci.yml) [![NPM](https://img.shields.io/npm/v/bip32.svg)](https://www.npmjs.org/package/bip32) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

A [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) compatible library written in TypeScript with transpiled JavaScript committed to git.


## Example

TypeScript

``` typescript
import BIP32Factory from 'bip32';
import * as ecc from 'tiny-secp256k1';
import { BIP32Interface } from 'bip32';
// You must wrap a tiny-secp256k1 compatible implementation
const bip32 = BIP32Factory(ecc);

const node: BIP32Interface = bip32.fromBase58('xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi');

const child: BIP32Interface = node.derivePath('m/0/0');
// ...
```

NodeJS

``` javascript
const ecc = require('tiny-secp256k1')
const { BIP32Factory } = require('bip32')
// You must wrap a tiny-secp256k1 compatible implementation
const bip32 = BIP32Factory(ecc)

const node = bip32.fromBase58('xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi')

const child = node.derivePath('m/0/0')
```

## LICENSE [MIT](LICENSE)
A derivation (and extraction for modularity) of the `HDWallet`/`HDNode` written and tested by [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib) contributors since 2014.

---
_Source: https://npm.io/package/bip32 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
