Registry / auth-security / slip10

slip10

JSON →
library1.1.0pypypi✓ verified 80d ago

A reference implementation of the SLIP-0010 specification that generalizes BIP-0032 hierarchical deterministic wallet derivation for curves secp256k1, NIST P-256, ed25519, and curve25519. Current version 1.1.0, stable maintenance.

pip install slip10
INSTALL
IMPORT
SIG · SLIP10
S
slip10
auth-securitypythonv1.1.0
Install
2.4s avg
Import
Disk
33MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.1.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 34.5MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.4s · import 0.000s · 35MB
33MB installed
● package 33MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

SLIP10
from slip10 import SLIP10
from slip10 import derive_node
HARDENED_INDEX
from slip10 import HARDENED_INDEX
InvalidInputError
from slip10 import InvalidInputError

Derive a hierarchical deterministic node from a seed.

from slip10 import derive_node from slip10 import BIP32Curve # BIP-32 test vector for secp256k1 seed = bytes.fromhex('000102030405060708090a0b0c0d0e0f') chain_code, private_key, public_key = derive_node( seed, path=[44 | 0x80000000, 0 | 0x80000000], curve=BIP32Curve.SECP256K1 ) print(private_key.hex()) print(public_key.hex())
Debug
Known issues
breakingIn version 1.0.0, the derive_node function did not accept the 'curve' parameter; it defaulted to secp256k1. In 1.1.0, the curve parameter is required if not using the default. Code without explicit curve may break if default changes.
fix
Always pass curve=BIP32Curve.SECP256K1 (or your desired curve) when calling derive_node.
affects: <1.0.0
gotchaThe return order from derive_node is (chain_code, private_key, public_key). Many users expect (private_key, chain_code, public_code) or similar.
fix
Unpack as: chain_code, private_key, public_key = derive_node(...).
affects: all
gotchaThe path argument uses hardened derivation with the '| 0x80000000' pattern (not apostrophe notation). Using integers without the OR may derive non-hardened keys unintentionally.
fix
Use path=[44 | 0x80000000, ...] for hardened derivation.
affects: all
Upgrade
Version history
1.1.0latest on PyPI · released Feb 2, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
29 hits · last 30 days
node
14
OpenAI (training)
1
Resources
slip10 — pip install slip10 · libregistry