A self-hosted Bitcoin data server.

Bitview builds indexes, time series, and on-chain datasets from a Bitcoin Core node, then serves them through a web interface and HTTP API. It can run on your own machine; bitview.space is the public instance maintained by the project.

Run Bitview

The bitviewd executable runs the official plugin composition, web interface, and API. It reads local blk*.dat files and uses Bitcoin Core RPC to identify and follow the active chain.

$ rustup update && RUSTFLAGS="-C target-cpu=native" cargo install --locked bitviewd
$ bitviewd
Bitcoin Core
server=1, local access to blocks/, and RPC credentials.
First index
Can take several hours. When more than 10,000 blocks behind, Bitview catches up before starting the web interface.
Configuration
Persistent settings live in ~/.bitview/config.toml.

HTTP listens on 0.0.0.0:3110 by default without authentication. Set serverbind = "127.0.0.1" in the configuration file, or put Bitview behind access control before exposing the port.

Website, API, clients, and MCP

The website and REST API are served by Bitview. Client libraries are generated from the API description, while MCP runs as a separate read-only adapter.

A static plugin composition

Plugins are ordinary Rust crates assembled into a typed graph at compile time. There is no dynamic loader or stable plugin ABI.

  1. Bitcoin Core validates blocks and selects the active chain
  2. BRK reads Bitcoin Core data
  3. Bitview plugins store indexes and compute datasets
  4. Website and API serve the resulting data over HTTP

bitview_plugin

Shared plugin identity, storage ownership, compute context, and publication gates.

bitview_runtime

Bootstrap and the composition-wide update lifecycle, without an official plugin set.

bitview / bitview_default / bitviewd

The runner, official plugin graph, and executable are kept in separate crates.

Active development

Public APIs, stored datasets, and the plugin contract may change between releases. The official public instance is provided without a service-level commitment.

Supported by OpenSats