bitcoin-utils
Bitcoin utility functions
What it is and what it does
bitcoin-utils is a low-level Bitcoin library designed to explain and demonstrate Bitcoin's inner workings through readable, well-documented code. It handles private and public key generation, all address types (legacy, segwit, taproot), transaction creation with all SIGHASH types, script operations, block parsing, and PSBT (BIP-174) support. The library assumes familiarity with Bitcoin fundamentals and is primarily intended for learning and experimentation rather than production use.
The package includes minimal native BIP-32 and BIP-39 functionality for hierarchical deterministic keys, uses Python Bitcoin Core reference implementations for schnorr signatures and bech32m encoding, and provides extensive examples covering everything from basic key derivation to complex taproot multi-script spending paths. It is actively maintained with no external runtime dependencies, making installation straightforward.
Use it for:
- Learning Bitcoin's low-level transaction mechanics and script operations through well-documented example code
- Experimenting with different address types and transaction signing strategies in a controlled environment
- Building educational tools or tutorials that explain Bitcoin protocol details step-by-step
- Prototyping Bitcoin applications before moving to production-grade libraries
- Working with taproot and segwit transactions to understand modern Bitcoin features
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A low-level Bitcoin library providing tools to create and parse transactions (including segwit and taproot), manage keys and addresses, and work with scripts and block data.
Yes, if your goal is learning or experimentation. The library is actively maintained, has no dependencies, and provides comprehensive coverage of Bitcoin transaction types with clear documentation. However, the description explicitly states it is not meant for production yet, so avoid it for applications handling real funds or requiring API stability guarantees.
Install
bitcoin-utils on PyPI
pip
pip install bitcoin-utilsuv
uv add bitcoin-utilspoetry
poetry add bitcoin-utilsInstalling bitcoin-utils
Before you install
Low install friction with no runtime dependencies. Actively maintained with recent commits; last commit was 2026-05-18 and repository shows ongoing development.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
Quickstart
pip install bitcoin-utils
from bitcoinutils.keys import PrivateKey
priv_key = PrivateKey()
pub_key = priv_key.get_public_key()
address = pub_key.get_address()
Python 3.10 and above is required.
Verify before relying
- Whether the library is production-ready despite the description stating it is 'not meant for production yet'
- Current API stability guarantees and backward-compatibility policy across versions
- Specific Python version upper bound or compatibility with Python versions beyond 3.10
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 102 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 115,857/month — #12,234 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bitcoin_utils-0.8.2-py3-none-any.whl
Keywords: bitcoin, library, utilities, tools
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
python-bitcoinlibProvides low-level Python tools to work with…
copyleft · top 15,000 on PyPI
bip-utilsGenerates mnemonics, seeds, private/public…
permissive · top 15,000 on PyPI
eth-accounteth-account signs Ethereum transactions and…
permissive · top 5,000 on PyPI
bech32Encodes and decodes bech32-formatted strings, a…
permissive · top 15,000 on PyPI
hdwalletGenerates hierarchical deterministic (HD)…
permissive · top 15,000 on PyPI
chia-baseProvides base data types and utilities for Chia…
permissive · top 15,000 on PyPI
xrpl-pyA pure Python library for building applications…
permissive · top 15,000 on PyPI
transactionProvides a generic transaction management…
unclear · top 5,000 on PyPI
bech32mEncodes and decodes Bech32 and Bech32m strings,…
permissive · top 15,000 on PyPI
breez-sdk-sparkPython bindings for the Breez Spark SDK,…
permissive · top 15,000 on PyPI