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.
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.
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
Import BIP32 from the bip32 package.
Create an instance with BIP32.from_seed(seed_bytes).
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.
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
Import BIP32 from the bip32 package.
Initialize with BIP32.from_xpub(xpub_string).
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.
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

