A curated list of bitcoin services and tools for software developers
- Utilities
- Blockchain API and Web services
- Wallets API
- Open Source wallets
- Blockchain Explorers
- 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
- Nigiri - CLI to quickly fire up a a Bitcoin regtest box along with Electrs and Esplora. Includes faucet and push commands.
- Nigiri in Travis - Travis template for adding Nigiri to your Travis (or Github Action) pipeline.
- hal - Bitcoin CLI swiss-army-knife (based on rust-bitcoin).
- BitKey - Live USB for airgapped transactions and Bitcoin swiss army knife.
- Pycoin - Python-based Bitcoin and alt-coin utility library.
- bx - Bitcoin Command Line Tool.
- txwatcher - A little Python utility that lets you monitor Bitcoin addresses through Blockchain Websocket API and perform custom callbacks.
- hellobitcoin - 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 - Find all used addresses in your Bitcoin HD wallets bypassing gap limits.
- LibreSelery - Automated Bitcoin distribution to your project contributors and dependencies integrated into GitHub Actions.
<qr-code>
– A no-framework, no-dependencies, customizable, animate-able, SVG-based<qr-code>
web component.
- 3xpl.com - Fastest ad-free universal block explorer.
- block.io
- blockchair.com - Universal blockchain explorer and search engine.
- BlockCypher
- Esplora - Self-hosted blockchain explorer.
- Gem.co
- Insight
- Chain.com
- Coinbase Wallet
- Smartbit
- Cashier-BTC - Self-hosted payment gateway.
- Chainradar API - Blockchain Explorer API for Chainradar.
- One-Time Address A better way to share your Bitcoin address.
- 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.
- Chain.so
- Blockchain.com
- Blockstream.info - Blockchain explorer with API (mainnet, testnet and Liquid).
- BlockTrail
- Bitcoin Transaction Explorer
- Blockexplorer.com
- Smartbit
- Bitkit - Real time transaction updates.
- Awesome CryptoCoinJS
- Bitcore Library
- Bitcoinjs-lib
- Cryptocoin
- BlockTrail SDK NodeJS
- bcoin - Javascript bitcoin library for node.js and browsers.
- Libauth – A lightweight, zero-dependency, JavaScript/TypeScript bitcoin library.
- scure-btc-signer — Secure, audited minimal library for creating, signing & decoding Bitcoin transactions.
- Bitcoin-ruby
- bitcoinrb - Ruby bitcoin library including script interpreter.
- bech32rb - Bech32 and Bech32m encode/decode library.
- bip-schnorrrb - Schnorr signature library for Bitcoin.
- BlockTrail SDK Python
- btctxstore - Simple library to store/retrieve information in bitcoin transactions using OP_RETURN.
- pybitcointools - Python library for Bitcoin signatures and transactions from Vitalik Buterin. Project discontinued.
- pycoin - Python library for Bitcoin keys, signatures, transactions. Includes full VM implementation and tools for manipulating keys (ku) and transactions (tx).
- bitcoin_tools - 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 - A secure Bitcoin utility library for Python.
Note that you can also use Scala libraries in Java.
- BitcoinJ
- XChange - Library that provides a simple and consistent API for interacting with 50+ Bitcoin currency exchanges.
- Bitcoin Spring Boot Starter - Bitcoin integration for Spring Boot applications.
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.
- secp256k1.swift - Swift package for secp256k1 applications, includes Elliptic Curve operations, Schnorr, ZKP and more for Bitcoin.
- NBitcoin - Comprehensive Bitcoin library for the .NET framework.
- BitcoinLib - The most complete, up-to-date, battle-tested .net Library and RPC Wrapper for Bitcoin and Altcoins in C#.
- QBitNinja - An Open Source and powerful blockchain API.
- Script Playground
- Bitcoin IDE - Bitcoin Script for dummies.
- Script Debugger
- Bitcore Playground
- Mnemonic Code generator
- blockchain-demo - A web-based demonstration of blockchain concepts.
- Bitcoin Script Debugger - 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.
- WebBTC - These are postgres database dumps of the bitcoin-ruby-blockchain database generated by webbtc.com.
- BitcoinDatabaseGenerator - 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 - Fast, quick and dirty bitcoin blockchain parser.
- BitcoinABE - Abe: block browser for Bitcoin and similar currencies.
- NBitcoin.Indexer - Scalable and fault-tolerant block chain indexer for Azure cloud platform.
- Blockchain2Graph - Graph Database Builder.
- Chaingraph – A multi-node blockchain indexer and GraphQL API.
- btcd - Go-based full node since 2013.
- Bitcoin-ruby-node - bitcoin node based on bitcoin-ruby-blockchain.
- Fullnode - Javascript implementation of bitcoin.
- Bitcore Node - bitcoind linked to node.js by BitPay.
- Bitcore - Formerly just a Nodejs library, now a full node.
- A Gentle Introduction to Bitcoin Core Development
- Mastering Bitcoin
- 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.
- Bitcoin Protocol Development Curriculum - Chaincode Labs.
- Lightning Network Protocol Development Curriculum - Chaincode Labs.
- btcinformation.org / Developer Documentation - Find useful resources, guides and reference material for developers.
- @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 list thing. Created by BlockchainU fellows.
To the extent possible under law, Igor Barinov has waived all copyright and related or neighboring rights to this work.