Full stack Bitcoin software

Libraries

The libbitcoin libraries: system, database, network, node, server and explorer, and the build.

Libbitcoin is a full stack of C++20 libraries, from Bitcoin primitives to a complete server and client. Each library is its own repository, can be built and used on its own, and depends only on the libraries below it.

flowchart BT sys["libbitcoin-system"] db["libbitcoin-database"] net["libbitcoin-network"] node["libbitcoin-node"] server["libbitcoin-server"] explorer["libbitcoin-explorer"] bs(["bs<br/>Bitcoin Server"]) bx(["bx<br/>Bitcoin Explorer"]) sys --> db sys --> net db --> node net --> node node --> server server --> bs sys --> explorer explorer --> bx
Library Provides
libbitcoin-system Bitcoin primitives: blocks, transactions, scripts and their execution, hashes and cryptography, keys, addresses and wallets, encodings and serialization
libbitcoin-database The store: memory-mapped tables, and the queries over them
libbitcoin-network Connections and protocols: the P2P network, and HTTP, WebSocket, JSON-RPC, TLS and ZeroMQ services
libbitcoin-node The full node: download, validation and indexing of the blockchain and unconfirmed transactions
libbitcoin-server The client interfaces of Bitcoin Server, and bs
libbitcoin-explorer The commands of Bitcoin Explorer, and bx

The build, CI and install files of every library are generated by libbitcoin-build, a maintainer tool.

All libraries are licensed as AGPL with a lesser clause: a library may be used within a proprietary project, but the library and any changes to it must be published. To use one in an application, see Using a library.

Copyright © 2011-2026 libbitcoin developers