OpenViSTAI · Agents · Blockchain · Crypto
Menu
Wallets

Python BIP32

Python BIP32 is a Python library that implements BIP32 hierarchical deterministic key derivation for Bitcoin. It derives private and public keys, chain codes, and serialized extended keys from a seed, xpriv, or xpub along a specified path.

Independent OpenViST project profile, based on linked sources.

Python BIP32 — OpenViST project profile in Wallets.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a Python application needs BIP32 path-based derivation or an xpub-based public derivation component, rather than a user-facing wallet.

Who it is for

  • Python developers integrating BIP32 derivation into Bitcoin wallet software
  • Developers building utilities to inspect key paths or derive child public keys from an xpub

Documented uses

  • Derive extended private or public keys at a specified path.
  • Obtain raw private-key or public-key bytes and extended key material.
  • Continue public derivation from an xpub when the path contains no hardened indexes.
Before you choose

Requirements & limits

The project is open source under the BSD-3-Clause license. Installation is documented with pip install bip32.

  • It accepts seeds and serialized extended private or public keys as derivation starting points.
  • Paths may be supplied as lists of indexes or in string notation; hardened indexes can be marked with an apostrophe, h, or H.
  • An xpub permits public-only derivation only for paths without hardened indexes.
  • The documented elliptic-curve dependency is coincurve, which wraps libsecp256k1.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Derive an extended public key from a seed

Initialize BIP32 from a byte seed and retrieve an extended public key at a specified path.

Before you start

  • Python environment
  • Install the package with pip install bip32
  • A raw seed represented as bytes

Steps

  1. Import BIP32 from the bip32 package.

  2. Create an instance with BIP32.from_seed(seed_bytes).

  3. Call get_xpub_from_path with a list of indexes or a path string.

Expected outcome

A serialized extended public key for the requested path.

Guide limitations

  • The documentation describes derivation functions but does not prescribe how to generate, store, or protect a seed.
  • A path containing hardened indexes requires private-key material.
Source-based practical guide

Derive public keys from an extended public key

Continue public-key derivation from an xpub along an unhardened path.

Before you start

  • Python environment
  • Install the package with pip install bip32
  • A serialized extended public key

Steps

  1. Import BIP32 from the bip32 package.

  2. Initialize with BIP32.from_xpub(xpub_string).

  3. Call get_xpub_from_path or get_pubkey_from_path with a path that has no hardened indexes.

Expected outcome

A serialized child xpub or compressed public-key bytes at the requested path.

Guide limitations

  • An xpub supports only unhardened public-key derivation.
  • The documentation specifies compressed public keys.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
7 October 2026
Original website title
darosior/python-bip32 · Official homepage title · retained in its source language