btcsuite/btcd

An alternative full node bitcoin implementation written in Go (golang)

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 59 minutes ago
Added to GitGenius on September 9th, 2026
Created on August 6th, 2013
Open Issues & Pull Requests: 349 (+0)
GitHub issues: Enabled
Number of forks: 2,523
Total Stargazers: 6,704 (+0)
Total Subscribers: 238 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.8 hours
Mean response time: 37.6 days
90th percentile: 178.4 days
Tracked items: 79

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 85% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 6% of issues opened in the past year have been closed. Three people close 76% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 46
New in 7 days: 3
Closed in 7 days: 1
Avg open age: 602 days
Stale 30+ days: 42
Stale 90+ days: 32

Recent activity

Opened in 7 days: 3
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 6

Top labels

  • bug (30)
  • enhancement (12)
  • rpc (4)
  • good first issues (3)
  • json (3)
  • bitcoind-compat (2)
  • feature (2)
  • bip (1)

Detailed Description

btcd is an alternative full node Bitcoin implementation written in Go.

The project addresses the need for a Bitcoin node implementation in a language other than C++, providing an independent codebase that validates and serves the blockchain according to Bitcoin's exact consensus rules, including historical consensus bugs. It downloads and validates blocks, relays newly mined blocks and transactions, and maintains a transaction pool with both standard blockchain rules and stricter miner-focused checks. The implementation includes a comprehensive block validation testing framework that runs on every pull request and passes all official Bitcoin Core test vectors to ensure consensus compatibility and prevent blockchain forks.

A key architectural decision distinguishes btcd from Bitcoin Core: it deliberately excludes wallet functionality. This separation of concerns means the tool cannot directly send or receive payments; instead, wallet operations are handled by companion projects like btcwallet and Paymetheus. Developers should choose btcd if they need a lightweight, independent node implementation for infrastructure purposes, such as running a validation node, building services that query blockchain data, or contributing to Bitcoin development without the overhead of wallet management. The Go implementation offers cross-platform compatibility and straightforward compilation from source.

The project maintains active development with regular updates and pull requests. The codebase demonstrates stability through production use spanning years. Documentation is acknowledged as a work-in-progress but exists in the repository's docs folder. Community engagement occurs through an IRC channel on Libera.Chat, and issue tracking uses the integrated GitHub system.