Bitcoin Services and Tools for Software Developers

A curated list of bitcoin services and tools for software developers.

List of content

Utilities

  • 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.

Blockchain API and Web services

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

C++ Libraries

JavaScript Libraries

PHP Libraries

Ruby Libraries

Python Libraries

  • 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.

Java Libraries

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.

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.

.Net Libraries

  • 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.

Playgrounds

Blockchain dump

  • 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.

Full nodes

  • 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.

Read

Course

Additional Resources