brk
Umbrella crate for the Bitcoin Research Kit.
Usage
Single dependency to access any BRK component. Enable only what you need via feature flags.
[]
= { = "0.1", = ["query", "types"] }
use Query;
use 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 |