How it works
Observably
private.
Timechain Grid draws the whole Bitcoin chain 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.
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.
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.
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.
Serving plane
Serve from our own origin
The bundle is published to a storage bucket we control (Cloudflare R2) and served from timechaingrid.com. No library, font, or asset is loaded from anyone else.
Serving plane · your browser
Query locally with DuckDB-Wasm
Your browser HTTP-range-reads only the slices it needs and runs every query locally in self-hosted DuckDB-Wasm. The analysis happens on your machine — there is no backend to send it to.
What your visit reveals
To our origin (timechaingrid.com): ordinary requests for static files — the page, its scripts and styles, system fonts, the Parquet data bundle, and the DuckDB-Wasm engine. 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 queries, because the queries run in your browser.
Verify it yourself
- Open DevTools → Network and reload. Every request targets timechaingrid.com. If you ever see a third-party 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 timechaingrid.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:
- Threat model & privacy posture — the priorities, the data flow, what is enforced and how.
- Infrastructure & operations docs — how the bundle is built and served without touching your privacy.
- The full source on GitHub — read it, audit it, run it yourself.
- FAQ — common questions about the data pipeline, privacy guarantees, and Bitcoin basics.
API reference
A documented, self-hosted developer API over the same public dataset — endpoints, a getting-started guide, and a sandboxed query cookbook — is planned.
The API and its docs ship together. The first chapters cover the v1 endpoint catalogue, authentication, and the sandboxed query interface — rendered via self-hosted Scalar, no third-party CDN.