Bitcoin. Every language. From scratch.

10 full node implementations. 10 languages. Zero forks of Bitcoin Core. Every node syncs Bitcoin mainnet, passing all 1,222 consensus test vectors.

10
Languages
Rust, Go, TypeScript, Erlang, OCaml, Zig, Haskell, Lua, Nim, Python
10/10
Syncing Mainnet
3 at chain tip, 7 in IBD
100%
Consensus compliance
All 1,222 Bitcoin Core test vectors, all 10 nodes
Full Taproot
All 10 nodes
BIP340 + BIP341 + BIP342
20+
BIPs per node
SegWit, Taproot, HD wallets, PSBT, and more
613k
Lines of code
Zero shared between implementations
0
Forks of Bitcoin Core
Every line written from scratch
Flagship Project

Ouroboros

Hybrid Bitcoin full node in Rust + Python

A high-performance Bitcoin full node combining Rust for the hot path and Python for scripting and extensibility. Features block sync, validation, and a full script interpreter.

terminal
$ git clone https://github.com/hashhog/ouroboros.git
$ cd ouroboros
$ cargo build --release
$ ./target/release/ouroboros --network=mainnet
Syncing Bitcoin mainnet from genesis...

What goes into a full node?

Every implementation covers the same foundational components that make Bitcoin work.

P2P Networking

Peer discovery, connection management, and message relay

Block Validation

Consensus rules, proof-of-work verification, script execution

UTXO Set

Unspent transaction output database and chain state tracking

Mempool

Unconfirmed transaction pool with fee-rate ordering

RPC Server

JSON-RPC API compatible with Bitcoin Core

Wallet

Key management, transaction signing, and HD derivation

Implementation matrix

How each implementation stacks up across core Bitcoin node features.

Feature Ouroboros Rust Rustoshi Rust Blockbrew Go Hotbuns TypeScript Beamchain Erlang Camlcoin OCaml Clearbit Zig Haskoin Haskell Lunarblock Lua Nimrod Nim
Wire serialization
Cryptographic primitives
Script interpreter
P2P networking
Block validation
UTXO set management
Header sync
Block sync (IBD)
Mempool
RPC server
Wallet
Mining/block templates
Script test vectors
Testnet4 sync
Mainnet sync IBD IBD IBD IBD IBD IBD IBD
BIP324 v2 transport

Want to contribute?

Every implementation is open source. Pick a language. Pick a feature. Start building.