Repolode
btcsuite

btcsuite/btcd

An alternative full node Bitcoin implementation written in Go that validates and serves the block chain without wallet functionality.

Stars
6,718
Forks
2,533
Open issues
380
Last commit
16 days ago

What is it?

btcd is a Bitcoin full node implementation in Go. It downloads, validates and serves the block chain, applying the same block acceptance rules as Bitcoin Core, including its consensus quirks. It also relays newly mined blocks, maintains a transaction pool, and relays individual transactions that have not yet been mined, applying standardness checks in addition to consensus rules.

Unlike Bitcoin Core, btcd deliberately omits wallet functionality, so it cannot send or receive payments by itself. Wallet features are provided by separate projects in the same organization, such as btcwallet. The project has been in production use since 2013 and runs a block validation test suite on each pull request.

btcd is built with the standard Go toolchain and installs via go install. Its ISC license is permissive, and it is intended for developers who want a Go-based node to integrate with or build infrastructure around.

Key features

  • 01Downloads, validates and serves the Bitcoin block chain using Bitcoin Core's block acceptance rules.
  • 02Relays newly mined blocks and individual unconfirmed transactions to peers.
  • 03Maintains a transaction pool with standardness checks applied.
  • 04Contains no wallet functionality; payments are handled by separate projects such as btcwallet.
  • 05Passes Bitcoin Core's JSON test data and runs a block validation test suite on pull requests.

Use cases

  • Running a Bitcoin full node written in Go.
  • Building services or tools that need to read and validate the Bitcoin block chain.
  • Pairing a node with a separate wallet such as btcwallet for payment handling.

Quick start

  1. 1

    Ensure Go 1.26.10 or newer is installed

    go version
  2. 2

    Install btcd and its utilities with go install

    go install -v . ./cmd/...
  3. 3

    Run btcd with zero configuration

    ./btcd

Things to know

  • btcd does not include wallet functionality, so you cannot make or receive payments with it alone.
  • Building from source requires a recent Go toolchain and a checkout of the repository.

Topics

FAQ

What is btcd?
An alternative full node Bitcoin implementation written in Go that validates and serves the block chain without wallet functionality. btcd is a Bitcoin full node implementation in Go. It downloads, validates and serves the block chain, applying the same block acceptance rules as Bitcoin Core, including its consensus quirks. It also relays newly mined blocks, maintains a transaction pool, and relays individual transactions that have not yet been mined, applying standardness checks in addition to consensus rules.
Is btcd free to use? What license does it have?
btcd is open source under the ISC license. Check the license terms before using it in commercial products.
Is btcd still maintained?
Actively maintained. The last commit to btcd was on Oct 21, 2026.
What can I use btcd for?
Running a Bitcoin full node written in Go. Building services or tools that need to read and validate the Bitcoin block chain. Pairing a node with a separate wallet such as btcwallet for payment handling.
How do I install btcd?
Ensure Go 1.26.10 or newer is installed: go version Install btcd and its utilities with go install: go install -v . ./cmd/... Run btcd with zero configuration: ./btcd
Where can I get btcd?
The source code and installation instructions are on GitHub: https://github.com/btcsuite/btcd

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects