hdwallet
Python-based library implementing a Hierarchical Deterministic (HD) Wallet generator for 200+ cryptocurrencies.
What it is and what it does
hdwallet is a Python library for generating and managing hierarchical deterministic wallets across multiple cryptocurrencies. It implements standard HD protocols (BIP32, BIP44, BIP49, BIP84, BIP86, Cardano, Electrum, Monero) and supports various entropy and mnemonic schemes (BIP39, Algorand, Electrum-V1/V2). The library handles the full workflow from seed generation through key derivation to address creation, supporting compressed and uncompressed public keys, multiple address formats (P2PKH, P2WPKH, P2TR, etc.), and custom derivation paths.
The package is built on established cryptographic primitives—ecdsa, pycryptodome, coincurve, ed25519-blake2b, pynacl—and provides a high-level API for developers integrating multi-currency wallet functionality. It adheres to standard protocols for compatibility with other wallets and services, making it suitable for building wallet applications, key management systems, or blockchain integration tools that need deterministic key generation across diverse cryptocurrency networks.
Use it for:
- Generate Bitcoin or Ethereum wallets from a single mnemonic seed for multi-account wallet applications.
- Derive hierarchical key hierarchies for custodial services managing wallets across multiple cryptocurrencies.
- Build command-line tools for wallet creation and key export using the optional CLI interface.
- Integrate deterministic key derivation into blockchain explorers or address monitoring systems.
- Create backup and recovery workflows using BIP39 mnemonics and seed phrases.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates hierarchical deterministic (HD) wallets for 200+ cryptocurrencies, deriving cryptographic keys and addresses from a single seed using standard protocols like BIP32, BIP44, and others.
Yes, if you need deterministic wallet generation for multiple cryptocurrencies and can accept aging maintenance. The library is stable (Production/Stable classifier), has no known vulnerabilities, low install friction, and covers a broad range of protocols and cryptocurrencies. However, the 375-day gap since the last release suggests limited active development; verify that the specific cryptocurrencies and derivation paths you need are well-tested before relying on it for production use.
Install
hdwallet on PyPI
pip
pip install hdwalletuv
uv add hdwalletpoetry
poetry add hdwalletInstalling hdwallet
Before you install
Low install friction with a pure-Python wheel and eight well-established cryptographic dependencies. Maintenance status is aging—last release was 375 days ago—but the repository remains active with recent commits and no archived status.
License in practice
MIT license is permissive; you may use, modify, and distribute this library freely in commercial and private projects with minimal restrictions.
Quickstart
from hdwallet import HDWallet
from hdwallet.entropies import BIP39Entropy
from hdwallet.cryptocurrencies import Bitcoin
from hdwallet.hds import BIP32HD
from hdwallet.derivations import CustomDerivation
hdwallet = HDWallet(
cryptocurrency=Bitcoin,
hd=BIP32HD
).from_entropy(
entropy=BIP39Entropy(entropy=BIP39Entropy.generate())
).from_derivation(
derivation=CustomDerivation(path="m/0'/0/0")
)
print(hdwallet.dumps())
Requires Python 3.9 or later; eight cryptographic dependencies (ecdsa, pycryptodome, coincurve, etc.) must be installed.
Verify before relying
- Whether all 200+ cryptocurrencies are equally well-tested or if some are less mature than others.
- Performance characteristics when deriving large numbers of keys or addresses in sequence.
- Whether the library supports hardware wallet integration or is software-only.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — ecdsa, crcmod, pycryptodome, ed25519-blake2b, coincurve, pynacl, base58, cbor2 |
| Maintenance | aging — 375 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 156,061/month — #10,794 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hdwallet-3.6.1-py3-none-any.whl
Keywords: ecc, kholaw, slip10, ed25519, nist256p1, secp256k1, hd, bip32, bip44, bip49, bip84, bip86, bip141, monero, cardano, entropy, mnemonic, seed, bip39, algorand, electrum, cryptocurrencies, bitcoin, ethereum, cryptography, cli, cip1852
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
bip-utilsGenerates mnemonics, seeds, private/public…
permissive · top 15,000 on PyPI
bip32Implements BIP 32 hierarchical deterministic…
permissive · top 15,000 on PyPI
mnemonicGenerates mnemonic word sequences and converts…
permissive · top 5,000 on PyPI
slip10Implements SLIP-0010 hierarchical deterministic…
permissive · top 15,000 on PyPI
bech32mEncodes and decodes Bech32 and Bech32m strings,…
permissive · top 15,000 on PyPI
py-bip39-bindingsProvides Python bindings to the tiny-bip39 Rust…
permissive · top 15,000 on PyPI
bitcoin-utilsA low-level Bitcoin library providing tools to…
permissive · top 15,000 on PyPI
nkeysGenerates, manages, and verifies Ed25519-based…
permissive · top 15,000 on PyPI
fastecdsaProvides fast elliptic curve digital signature…
permissive · top 15,000 on PyPI
bittensor-walletManages cryptographic keys and wallets for the…
permissive · top 15,000 on PyPI