Read and verify Bitcoin from your terminal. Zero dependencies (Python standard library only), no Bitcoin Core required. It reads the chain through the Mempool.space public API, or your own Mempool instance via --api-url, and checks what it can by computation: address checksums offline, and a transaction against its block's Merkle proof and proof of work. Scriptable end to end: stdin, batch files, JSON Lines.
pipx install btc-toolkit
# or: pip install btc-toolkit · uv tool install btc-toolkit
# or, on macOS and Linux: brew install devdavidejesus/tap/btc-toolkitRead
| Command | What it does |
|---|---|
btc-toolkit opreturn <txid> |
Decode OP_RETURN messages from any transaction |
btc-toolkit inscription <txid> |
Ordinals inscription envelopes: content type, size, SHA-256, text |
btc-toolkit tx <txid> |
Transaction details: status, fees, size, RBF, and every input and output |
btc-toolkit address <address> |
Aggregated overview: type, balance, lifetime totals |
btc-toolkit balance <address> |
Confirmed + unconfirmed balance of any address |
btc-toolkit utxo <address> |
Unspent outputs of any address |
btc-toolkit block <height|hash|latest> |
Block metadata, from genesis to chain tip |
btc-toolkit fees |
Recommended fee rates + mempool backlog |
Verify
| Command | What it does |
|---|---|
btc-toolkit verify <txid> |
Check a transaction is in a block by computation: its Merkle proof and the header's proof of work |
btc-toolkit decode <rawtx> |
Decode a raw transaction offline |
btc-toolkit validate <address> |
Check an address offline: checksum, network, type, and nothing is sent |
Python 3.11+ · 90% test coverage floor · fuzzed · CI on Linux, macOS and Windows · releases signed with Sigstore, with PEP 740 provenance
$ btc-toolkit validate 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
✓ Valid mainnet address — checksum verified, nothing sent anywhere
├─ Type: P2PKH
└─ Hash160: 62e907b15cbf27d5425399ebf6f0fb50ebb88f18
Listed among the developer tools in Jameson Lopp's Bitcoin resources.
→ github.com/devdavidejesus/btc-toolkit · pypi.org/project/btc-toolkit
49 Messages to a Thief — the Coldcard hacker's wallet holds 562 BTC and has received 49 on-chain messages, from pleas to a 2,857-byte essay. Every quote checked against the chain with btc-toolkit, with the script to reproduce it.
I Read a $320M Ransom Negotiation From My Terminal — the Liquid Network drain was negotiated on-chain via OP_RETURN. Every message decoded with btc-toolkit, every transaction ID included, so you can verify each word yourself.
bitcoin.org — Collaborator with merge access helping maintain bitcoin.org, the Bitcoin reference website online since 2008 — auditing wallet and exchange listings, modernizing core content, and correcting whitepaper translations, each change verified against primary sources.
All pull requests · All issues
Electrum — Fixes and new features merged into the Electrum wallet: a dscancel command, clear errors for malformed CLI arguments, tests for CLI commands, and crash fixes in the Android (QML) app.
Merged pull requests
Armory — Working with the maintainer on the 0.97 release: macOS build and GUI fixes, concurrency fixes in the database server, and bug reports on memory safety and offline signing.
All pull requests · All issues

