₿TIMECHAIN·GRAPH

How it works

Observably
private.

Timechain Graph makes the Bitcoin chain observable in your browser — and it does so without telling anyone you looked. That isn’t a promise printed on a page; it’s a property of how the thing is built, and you can check it yourself in under a minute (jump to how).

The pipeline

The chain data is built offline by the operator and shipped as a static file. The browser never talks to a block explorer, an indexer, or any third-party API — it reads one bundle from our own origin and queries it locally.

  1. Operator plane · offline

    Self-hosted bitcoind

    Source data comes from Bitcoin’s own peer-to-peer network into a full node the operator runs, read directly over JSON-RPC (getblock v3). No third-party indexer or block explorer is ever involved.

  2. Operator plane · offline

    Reduce with DuckDB

    An out-of-core DuckDB pass distills the chain down to just the slice this view renders — running in bounded memory on the operator’s machine, with no cloud service involved.

  3. Operator plane · offline

    Carve a static Parquet bundle

    The result is exported as a static, columnar Parquet bundle plus a manifest — a plain file you can inspect, with nothing viewer-specific in it.

  4. Serving plane

    Serve from our own origin

    The bundle is published to a storage bucket we control (Cloudflare R2) and served from timechaingraph.com. No library, font, or asset is loaded from anyone else.

  5. Serving plane · your browser

    Read it in your browser

    Your browser downloads the Parquet bundle and decodes it locally, with a small reader bundled into this site. Search, playback and inspection all happen on your machine — there is no backend to send them to.

What your visit reveals

To our origin (timechaingraph.com): ordinary requests for static files — the page, its scripts and styles, system fonts, and the Parquet data bundle. The same footprint as loading any static website.

To any third party: nothing. No analytics, no tag managers, no CDN-hosted libraries, no web fonts, no telemetry, no cookies tied to you. There is no server that could log your searches, because they run in your browser.

Verify it yourself

  • Open DevTools → Network and reload. Every request goes to timechaingraph.com, the host we control, for the page and its data. If you ever see any other domain, that is a bug — please report it.
  • Read the audit. Every push runs a privacy audit that scans the built site for forbidden third-party domains (Google Fonts/Analytics, common CDNs, trackers) and fails the build if one leaks in. The boundary is a required green check, not a pinky-swear.

One honest caveat

A network observer (your ISP, a state-level watcher) can still see that you connected to timechaingraph.com at all — that is true of every website. If that matters to you, reach the site over Tor; a dedicated onion service is on the roadmap. What we can promise is that nothing on our side ever links a visit to a person.

Read the source

This page is the short version. The formal, checkable detail lives in the repository:

Open data

There is no hosted API, by design: a server that answers queries is a server that sees them. The data is open instead — the same Parquet files the views load, listed on /api, with every published version, its sizes and SHA-256 hashes in the open-data index. A listed version stays downloadable at its listed URLs.