Bitview and the Bitcoin Research Kit
This monorepo contains two layers:
- Bitcoin Research Kit (BRK): reusable Rust primitives for reading Bitcoin Core data, RPC, mempool tracking, storage, domain types, and the on-chain price oracle.
- Bitview: the self-hostable application that composes BRK with a typed indexer and analytics plugin graph, query layer, REST server, website, and generated clients.
Together they turn a Bitcoin Core node into a local Bitcoin data platform for chain exploration, mempool data, and on-chain research. The official free hosted instance is bitview.space.
Bitcoin Core ──> BRK reader, RPC, and mempool ──> Bitview plugins
│
v
Query + REST server
│ │ │
v v v
Website Clients MCP
See Architecture for the component and data-flow details.
Repository map
| Path | Purpose |
|---|---|
crates/brk and crates/brk_* | BRK umbrella crate and reusable Bitcoin primitives |
crates/bitview_plugin_* | Official indexing and analytics plugins |
crates/bitview* | Plugin contract, runtime, composition, query/server stack, daemon, code generation, and Rust clients |
crates/{vecdb,rawdb,byteview,fjall,lsm-tree} | Storage and data infrastructure |
examples/custom_plugin | Runnable external-plugin and custom-composition example |
modules/bitview-client | JavaScript/TypeScript client |
packages/bitview_client | Python client |
website* and experiments | Browser applications and research visualizations |
docs, benches, docker, and scripts | Project documentation, measurements, packaging, and maintenance tooling |
Each publishable crate or client owns its detailed usage documentation. The main README is only the map and common entrypoint.
Use Bitview
The hosted website, API, and MCP endpoint require no account or authentication:
- Website
- Interactive API
- OpenAPI
- MCP client endpoint:
https://mcp.bitview.space/ - CLI
- JavaScript
- Python
- Rust
curl https://bitview.space/api/mempool/price
curl https://bitview.space/api/series/count
The series catalog is discovered at runtime rather than documented as a
hard-coded count. Use /api/series/search?q=<concept> to find identifiers.
Self-host Bitview
rustup update && RUSTFLAGS="-C target-cpu=native" cargo install --locked bitviewd
bitviewd
The default composition requires Linux or macOS, a Bitcoin Core node with RPC
and readable blk*.dat files, about 290 GiB for Bitview plus Bitcoin Core
storage and growth headroom, and 16 GB of RAM recommended for a full sync. The
website and API listen on localhost:3110.
Bitview uses sparse files, so logical size is much larger than allocated disk
space. Use du -sh ~/.bitview to measure actual usage.
See the bitviewd guide for installation, configuration,
initial sync, storage, and custom compositions.
Build with BRK
Use the umbrella crate for BRK primitives without the full Bitview application:
[dependencies]
brk = { version = "0.11", features = ["reader", "rpc", "types"] }
See the brk crate guide for its feature map. For a new
Bitview metric or composition, start with the
custom plugin example and the
bitview_plugin contract.
Develop
The repository pins its Rust toolchain in rust-toolchain.toml.
cargo check --workspace
cargo test --workspace
Documentation
- Architecture
- Changelog
- Self-hosting
- BRK crates
- Plugin contract
- Custom plugin example
- Professional hosting
Support and community
BRK is supported by OpenSats from December 2024 through June 2027.
Discord · X · Issues · Support
bc1pkqvzn3pepug695xtvwmpm0sjd6n9j55v792cwfruzkqzrf2jn47s3hq0ts
