slip10
A reference implementation of the SLIP-0010 specification, which generalizes the BIP-0032 derivation scheme for private and public key pairs in hierarchical deterministic wallets for the curves secp256k1, NIST P-256, ed25519 and curve25519.
What it is and what it does
slip10 is a reference implementation of the SLIP-0010 specification, which extends BIP-0032 to define how to derive hierarchical deterministic key pairs across multiple elliptic curves. It takes a seed (or an existing extended key) and derives child keys at any depth along a path, supporting both hardened and unhardened derivation steps. The package handles four curves: secp256k1 (Bitcoin), NIST P-256, ed25519, and curve25519.
The library provides methods to initialize from a raw seed, an extended private key (xpriv), or an extended public key (xpub), then derive keys at any path as either raw bytes, extended keys, or serialized base58-encoded strings. It depends only on cryptography for ed25519 and curve25519 operations, having dropped external ecdsa and base58 dependencies in version 1.1.0 by inlining those implementations. It supports Python 3.8 through 3.14.
Use it for:
- Generate a hierarchy of Bitcoin addresses from a single seed for HD wallet implementations
- Derive public keys from an xpub without access to private keys for watch-only wallet scenarios
- Support multiple elliptic curves in a single codebase for cross-chain or multi-curve applications
- Implement key derivation paths following the SLIP-0010 standard for interoperability with other wallets
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Implements SLIP-0010 hierarchical deterministic key derivation for Bitcoin and other cryptocurrencies, supporting secp256k1, NIST P-256, ed25519, and curve25519 elliptic curves.
Yes, if you need SLIP-0010 key derivation. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive dual license. It is a reference implementation suitable for projects requiring standards-compliant hierarchical key derivation across Bitcoin and other curves. Verify whether it meets your production-readiness requirements before use in live cryptocurrency systems.
Install
slip10 on PyPI
pip
pip install slip10uv
uv add slip10poetry
poetry add slip10Installing slip10
Before you install
Low friction: pure Python wheel with only cryptography as a runtime dependency. Actively maintained with recent release (2026-02-02) and clean commit history.
License in practice
Dual-licensed under BSD-3-Clause and MIT (permissive). Both licenses allow commercial and private use with minimal restrictions.
Quickstart
from slip10 import SLIP10, HARDENED_INDEX
slip10 = SLIP10.from_seed(bytes.fromhex("01"))
xpriv = slip10.get_xpriv_from_path([1, HARDENED_INDEX, 9998])
pubkey = slip10.get_pubkey_from_path("m/1/1/1/1/1/1/1/1/1/1/1")
Verify before relying
- Whether the package is suitable for production use in real cryptocurrency wallets or primarily for reference/testing
- Performance characteristics when deriving keys from deep paths or handling many derivations
Package facts
| License | BSD-3-Clause AND MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — cryptography |
| Maintenance | actively maintained — 193 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 152,441/month — #10,900 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: slip10-1.1.0-py3-none-any.whl
Keywords: bitcoin, slip10, hdwallet
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
bip32Implements BIP 32 hierarchical deterministic…
permissive · top 15,000 on PyPI
nkeysGenerates, manages, and verifies Ed25519-based…
permissive · top 15,000 on PyPI
bip-utilsGenerates mnemonics, seeds, private/public…
permissive · top 15,000 on PyPI
hdwalletGenerates hierarchical deterministic (HD)…
permissive · top 15,000 on PyPI
mnemonicGenerates mnemonic word sequences and converts…
permissive · top 5,000 on PyPI
ed25519-blake2b-forkProvides Python bindings to Ed25519 digital…
permissive · top 15,000 on PyPI
coincurvecoincurve provides Python bindings to…
permissive · top 5,000 on PyPI
fastecdsaProvides fast elliptic curve digital signature…
permissive · top 15,000 on PyPI
pure25519Pure-Python implementation of Curve25519 and…
permissive · top 15,000 on PyPI
ecdsaPure-Python implementation of ECDSA, EdDSA, and…
permissive · top 1,000 on PyPI