brk 0.1.0-alpha.3

The Bitcoin Research Kit is a suite of tools designed to extract, compute and display data stored on a Bitcoin Core node
Documentation

brk

Umbrella crate for the Bitcoin Research Kit.

crates.io | docs.rs

Usage

Single dependency to access any BRK component. Enable only what you need via feature flags.

[dependencies]
brk = { version = "0.1", features = ["query", "types"] }
use brk::query::Query;
use brk::types::Height;

Feature flags match crate names without the brk_ prefix. Use full to enable all.

Crates

Core Pipeline

Crate Description
brk_reader Read blocks from blk*.dat with parallel parsing and XOR decoding
brk_indexer Index transactions, addresses, and UTXOs
brk_computer Compute derived metrics (realized cap, MVRV, SOPR, cohorts, etc.)
brk_mempool Monitor mempool, estimate fees, project upcoming blocks
brk_query Query interface for indexed and computed data
brk_server REST API with OpenAPI docs

Data & Storage

Crate Description
brk_types Domain types: Height, Sats, Txid, addresses, etc.
brk_store Key-value storage (fjall wrapper)
brk_fetcher Fetch price data from exchanges
brk_rpc Bitcoin Core RPC client
brk_iterator Unified block iteration with automatic source selection
brk_cohort UTXO and address cohort filtering
brk_traversable Navigate hierarchical data structures

Clients & Integration

Crate Description
brk_client Generated Rust API client
brk_bindgen Generate typed clients (Rust, JavaScript, Python)
brk_mcp Model Context Protocol server for LLM integration

Internal

Crate Description
brk_cli CLI binary (cargo install --locked brk_cli)
brk_error Error types
brk_logger Logging infrastructure
brk_bencher Benchmarking utilities