Skip to content
Back to skills

Python Bitcoinlib

ASecurity

python-bitcoinlib by Peter Todd: low-level Bitcoin primitives in Python. Tx, Script, Address, key types, RPC client. USE WHEN: scripting Bitcoin operations in Python, low-level manipulation, Bitcoin Core RPC integration.

  • 31 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
ai-agentspythonbashgitapi

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 22, 2026

npx -y skills add claude-dev-suite/claude-dev-suite --skill python-bitcoinlib --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Python Bitcoinlib?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Python Bitcoinlib
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/claude-dev-suite-python-bitcoinlib/badge)](https://www.skillsdirectory.com/skills/claude-dev-suite-python-bitcoinlib)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bitcoin-libraries-python-bitcoinlib
description: |
  python-bitcoinlib by Peter Todd: low-level Bitcoin primitives in
  Python. Tx, Script, Address, key types, RPC client.
  USE WHEN: scripting Bitcoin operations in Python, low-level
  manipulation, Bitcoin Core RPC integration.
allowed-tools: Read, Grep, Glob
---

# python-bitcoinlib

Long-standing low-level Python Bitcoin library by Peter Todd.

Repo: `github.com/petertodd/python-bitcoinlib`.

## Status (as of September 2026)

Effectively dormant. Check this before picking it for new work.

- Latest release: **0.12.2, 3 June 2023** (PyPI). `master` still declares
  `__version__ = '0.12.2'`, so the unreleased tip is not ahead by a version.
- Last commit on `master`: **14 March 2025**. The repo is not archived
  (38 open issues and 23 open pull requests as of September 2026) but has
  had no upstream activity for eighteen months.
- **No Taproot.** `bitcoin/wallet.py` has no P2TR address class,
  `bitcoin/bech32.py` carries no bech32m constant, and
  `bitcoin/core/script.py` defines only `SIGVERSION_BASE` and
  `SIGVERSION_WITNESS_V0` — no taproot sighash, no `OP_CHECKSIGADD`.
- **No PSBT.** There is no BIP174 module in the package; PSBTv2 (BIP370)
  is likewise absent.
- The README pins `bitcoin.rpc` support at "Bitcoin Core v24.0 or later"
  and has not revised that baseline since, so RPC shape changes in Core
  majors after v24 are untested upstream.

Still sound for legacy and segwit-v0 byte-level work and as a thin
`bitcoind` JSON-RPC client. For Taproot, PSBT or descriptor wallets reach
for `bdkpython` (3.1.0, 9 September 2026) instead. `python-bitcointx`
(Simplexum) is the low-level fork that went further on taproot script
handling, but it is dormant too — last release 1.1.5, 22 January 2024.

## Install

```bash
pip install python-bitcoinlib
```

## Quick examples

```python
from bitcoin.core import CTransaction, COIN, lx, b2lx
from bitcoin.core.script import CScript, OP_CHECKSIG
from bitcoin.wallet import CBitcoinAddress, CBitcoinSecret
from bitcoin import SelectParams

SelectParams("mainnet")

# Address from secret
sk = CBitcoinSecret.from_secret_bytes(b"\x01" * 32)
print(sk.pub.to_addr())

# Decode tx
import bitcoin
tx = CTransaction.deserialize(bytes.fromhex("0100..."))
print(b2lx(tx.GetTxid()))   # txid

# RPC client
from bitcoin.rpc import Proxy
rpc = Proxy()
print(rpc.getblockchaininfo())
```

## Submodules

- `bitcoin.core` — Tx, Block, Script.
- `bitcoin.wallet` — Address, key encoding.
- `bitcoin.rpc` — JSON-RPC client.
- `bitcoin.signmessage` — BIP137 message signing.

## Compared

| Aspect | python-bitcoinlib | bitcoinlib | embit |
|--------|-------------------|------------|-------|
| Style | Functional / OO | OO | Embedded-friendly |
| First PyPI release | 0.1.1, May 2014 | 0.3.33a0, Feb 2018 | 0.1.0, Oct 2020 |
| Latest release (Sept 2026) | 0.12.2, Jun 2023 | 0.7.9, Jun 2026 | 0.8.0, May 2024 |
| Coverage | Low-level | High-level wallet | Embedded HW signing |

Of the three, only `bitcoinlib` is still shipping releases as of September
2026 (0.7.9, 5 June 2026). `embit` carries git tags `v0.8.1` and `v0.8.2`
that were never published, so `pip install embit` resolves to 0.8.0.

## Use cases

- Scripts manipulating raw txs.
- Custom signing flows.
- Integrating with bitcoind RPC from Python.

## Common pitfalls

- Network selection global; test isolation requires `SelectParams`.
- Hex byte-order: most APIs use internal byte order; `lx` / `b2lx`
  convert to/from RPC display order.

## See also

- [embit/SKILL.md](../embit/SKILL.md)
- [bitcoinlib-py/SKILL.md](../bitcoinlib-py/SKILL.md)
- [bdk-python/SKILL.md](../bdk-python/SKILL.md)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.