skillfed

bitcoin-utils

Bitcoin utility functions

bitcoin-utils v0.8.2 115.9K downloads/30d#12,234 on PyPI356
Permissive license MIT Active released

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-utils

uv

uv add bitcoin-utils

poetry

poetry add bitcoin-utils

Installing 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

bitcoin transaction creationbitcoin key managementsegwit taproot addressesbitcoin script operationsbitcoin block parsingPSBT BIP-174 supportbitcoin cryptography utilities
bitcoin-protocoleducationalcryptography

More Cryptography packages