Awesome Bitcoin Overview
A curated list of bitcoin services and tools for software developers
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 igorbarinov/awesome-bitcoin · ⭐ 1K · 🏷️ Decentralized Systems
Awesome Bitcoin
A curated list of bitcoin services and tools for software developers
List of content
- Utilities
- Blockchain API and Web services
- Wallets API
- Open Source wallets
- Blockchain Explorers
- C Libraries
- C++ Libraries
- JavaScript Libraries
- PHP Libraries
- Ruby Libraries
- Python Libraries
- Java Libraries
- Scala Libraries
- Swift Libraries
- .Net Libraries
- Playgrounds
- Blockchain dump
- Full nodes
- Read
- Course
- Additional Resources
Utilities
- Nigiri (⭐203) - CLI to quickly fire up a a Bitcoin regtest box along with Electrs and Esplora. Includes faucet and push commands.
- hal (⭐114) - Bitcoin CLI swiss-army-knife (based on rust-bitcoin).
- BitKey - Live USB for airgapped transactions and Bitcoin swiss army knife.
- Pycoin (⭐1.3k) - Python-based Bitcoin and alt-coin utility library.
- bx (⭐536) - Bitcoin Command Line Tool.
- txwatcher (⭐46) - A little Python utility that lets you monitor Bitcoin addresses through Blockchain Websocket API and perform custom callbacks.
- hellobitcoin (⭐248) - A collection of simple programs which can generate bitcoin wallets, create and sign transactions, and send transactions over the bitcoin network.
- Mining visualization
- HD Wallet Scanner (⭐15) - Find all used addresses in your Bitcoin HD wallets bypassing gap limits.
<qr-code>
– A no-framework, no-dependencies, customizable, animate-able, SVG-based<qr-code>
web component.
Blockchain API and Web services
- 3xpl.com - Fastest ad-free universal block explorer.
- block.io
- blockchair.com - Universal blockchain explorer and search engine.
- BlockCypher
- Esplora (⭐772) - Self-hosted blockchain explorer.
- Gem.co
- Insight
- Chain.com
- Coinbase Wallet
- Smartbit
- Chainradar API (⭐3) - Blockchain Explorer API for Chainradar.
- One-Time Address (⭐52) A better way to share your Bitcoin address.
- Cryptocurrency Alerting - Bitcoin wallet monitoring and blockchain alerts.
Market Data API
- CoinMetrics.io JSON REST API (free as well as paid) with access to market data. Also CSV data file download available.
- Messari.io JSON REST API (free as well as paid) with access to market data, news, metrics, profile, etc.
Wallets API
Open Source Wallets
Blockchain Explorers
- 3xpl.com - Fastest ad-free universal block explorer.
- Chain.so
- Blockchain.com
- Blockchair.com - Universal blockchain explorer and search engine.
- Blockstream.info - Blockchain explorer with API (mainnet, testnet and Liquid).
- BlockTrail
- Bitcoin Transaction Explorer (⭐177)
- Blockexplorer.com
- Smartbit
- Bitkit - Real time transaction updates.
C Libraries
C++ Libraries
JavaScript Libraries
- Awesome CryptoCoinJS (⭐55)
- Bitcore Library (⭐4.6k)
- Bitcoinjs-lib (⭐4.9k)
- Cryptocoin
- BlockTrail SDK NodeJS (⭐39)
- bcoin (⭐2.8k) - Javascript bitcoin library for node.js and browsers.
- Libauth – A lightweight, zero-dependency, JavaScript/TypeScript bitcoin library.
- noble-curves (⭐333) — audited implementation of secp256k1 + schnorr in pure typescript
- noble-secp256k1 (⭐542) — alternative implementation of secp256k1: size is only 4KB gzipped; lots of comments, very valuable for learning how algorithms work
- scure-btc-signer (⭐36) — audited & minimal library for creating, signing & decoding Bitcoin transactions. With Schnorr, Taproot, UTXO & PSBT.
PHP Libraries
Ruby Libraries
- Bitcoin-ruby (⭐905)
- bitcoinrb (⭐47) - Ruby bitcoin library including script interpreter.
- bech32rb (⭐12) - Bech32 and Bech32m encode/decode library.
- bip-schnorrrb (⭐6) - Schnorr signature library for Bitcoin.
Python Libraries
- BlockTrail SDK Python (⭐21)
- btctxstore (⭐10) - Simple library to store/retrieve information in bitcoin transactions using OP_RETURN.
- pybitcointools (⭐1.3k) - Python library for Bitcoin signatures and transactions from Vitalik Buterin. Project discontinued.
- pycoin (⭐1.3k) - Python library for Bitcoin keys, signatures, transactions. Includes full VM implementation and tools for manipulating keys (ku) and transactions (tx).
- bitcoin_tools (⭐250) - Python library for building and analyzing transactions and scripts (both standard and custom). Comes along with a UTXO set analysis tool. Includes several examples and exhaustive documentation.
- oogway (⭐10) - A secure Bitcoin utility library for Python.
Java Libraries
Note that you can also use Scala libraries in Java.
- BitcoinJ
- XChange (⭐3.7k) - Library that provides a simple and consistent API for interacting with 50+ Bitcoin currency exchanges.
- Bitcoin Spring Boot Starter (⭐46) - Bitcoin integration for Spring Boot applications.
Scala libraries
Note that you can also use Java libraries in Scala.
- Bitcoin-S - Scala/JVM toolkit for Bitcoin applications, includes Bitcoin data structures, transaction signing, strongly typed
bitcoind
/Eclair RPC clients, and more.
Swift libraries
- secp256k1.swift (⭐73) - Swift package for secp256k1 applications, includes Elliptic Curve operations, Schnorr, ZKP and more for Bitcoin.
.Net Libraries
- NBitcoin (⭐1.8k) - Comprehensive Bitcoin library for the .NET framework.
- BitcoinLib (⭐381) - The most complete, up-to-date, battle-tested .net Library and RPC Wrapper for Bitcoin and Altcoins in C#.
Playgrounds
- Script Playground
- Bitcoin IDE (⭐195) - Bitcoin Script for dummies.
- Script Debugger (⭐21)
- Bitcore Playground
- Mnemonic Code generator
- blockchain-demo (⭐4.8k) - A web-based demonstration of blockchain concepts.
- Bitcoin Script Debugger (⭐54) - Visualize Bitcoin script execution for real transactions.
- Bitauth IDE – An interactive development environment for Bitcoin contracts.
- ChainQuery Bitcoin RPC - Run select bitcoin RPC API calls and read full RPC docs in your browser.
Blockchain dump
- WebBTC - These are postgres database dumps of the bitcoin-ruby-blockchain database generated by webbtc.com.
- BitcoinDatabaseGenerator (⭐109) - A high performance data transfer tool that can be used to copy data from Bitcoin Core blockchain files to a SQL Server database.
- Blockparser+SQL (⭐61) - Fast, quick and dirty bitcoin blockchain parser.
- BitcoinABE (⭐956) - Abe: block browser for Bitcoin and similar currencies.
- Chaingraph (⭐30) – A multi-node blockchain indexer and GraphQL API.
Full nodes
- btcd (⭐5.3k) - Go-based full node since 2013.
- Bitcoin-ruby-node (⭐25) - bitcoin node based on bitcoin-ruby-blockchain.
- Fullnode (⭐196) - Javascript implementation of bitcoin.
- Bitcore Node (⭐350) - bitcoind linked to node.js by BitPay.
- Bitcore (⭐4.6k) - Formerly just a Nodejs library, now a full node.
Read
- A Gentle Introduction to Bitcoin Core Development
- Mastering Bitcoin (⭐21k)
- Grokking Bitcoin - An in-depth technical book with rich illustrations.
- Bitcoin Stackexchange
- Elliptic Curve Cryptography A Gentle Introduction.
- Bitcoin Programming with BitcoinJS and Bitcoin Core CLI (⭐142).
- Bitcoin Protocol Development Curriculum - Chaincode Labs (⭐520).
- Lightning Network Protocol Development Curriculum - Chaincode Labs (⭐315).
- btcinformation.org / Developer Documentation - Find useful resources, guides and reference material for developers.
Course
Additional Resources
- @lopp / Bitcoin Developers - Software developers who have experience working on Bitcoin implementations or applications.
- @lopp / Lightning Developers - Software developers with experience working on LN implementations / applications.
- Practical Bitcoin Info - Google Sheets.
- A brief history of Bitcoin development...
- bitcoin-resources.com Meta-list of Bitcoin resources, from books, articles, to podcasts.
- Jameson Lopp Bitcoin Resource List Very detailed curated Bitcoin resource list and meta-list by J. Lopp
- River Learn A collection of educational resources to learn about Bitcoin basics, investing, technology, and more.
Inspired by the awesome (⭐251k) list thing. Created by BlockchainU fellows.
License
To the extent possible under law, Igor Barinov has waived all copyright and related or neighboring rights to this work.