Provenance
Every number comes from our own infrastructure. External trackers are linked only for comparison.
Live panels read JSON files generated at fixed intervals. Each file includes an updated timestamp and a source description. The timestamp drives the live, caution, or stale indicator. If a poll fails, the page keeps the last good value and marks it stale.
The Stratum signalling history is a fixed archive covering August 4 to 11, 2026. It does not update live, so freshness indicators do not apply.
The nodes
| Role | Software | Configuration | Chain followed |
|---|---|---|---|
| Core vantage | Bitcoin Core v31.1.0 | default policy, pruned | majority |
| Knots-RDTS vantage | Bitcoin Knots v29.3.0.knots20260508 | RDTS-enforcing policy, pruned | the BIP-110 fork |
| Libre Relay vantage | Libre Relay v30.2-2 (Core v30.2 base) | widest relay policy, pruned | majority |
| Archival reference | Bitcoin Core v30.2.0 | unpruned, txindex | majority |
Versions as of 2026-08-14; this table is updated by hand when the fleet changes.
The unpruned archival node lets us rebuild derived series from the chain. The Knots vantage enforces BIP-110, so at height 961,632 it rejected the majority chain and began following the fork as its active chain. It is the only listed node following that fork.
Blockchain data
The signalling series, pool attribution, and majority-chain ledger come from the archival node's headers and blocks. We decode each coinbase and match it against a pinned snapshot of the mining-pool dataset. An unmatched coinbase is labelled Unknown.
During heights 961,632 through 963,647, BIP-110 requires the versionbits top pattern 001 with bit 4 set. An enforcing node rejects any other header with bad-version-reduced_data. Later signalling blocks built on a rejected block also fall outside the BIP-valid branch. We apply that rule to the majority chain to produce the enforcing view.
The fork ledger comes directly from the Knots vantage, where the fork is the active chain. We scan its blocks and decode their coinbases with the same pool dataset used for the majority ledger.
The archival node follows the majority chain, so it only knows fork headers supplied by peers. Its view stopped at height 961,633 on August 8, while the Knots vantage reached 961,635. The site publishes the archival observation as a fallback, but prefers the Knots reading.
Stratum data
Read-only listeners collected mining.notify jobs from public pool endpoints without submitting work. Raw JSON-RPC frames were sealed daily as zstd archives with SHA-256 manifests and copied to the archive host hourly.
A job signals BIP-110 when its version field (the 6th parameter of mining.notify) carries the versionbits top pattern 001 (0x20000000) with bit 4 set (0x10), giving version 0x20000010. This shows a pool's intent, not whether it enforces BIP-110. A pool can change the bit between jobs without producing a block.
The archive covers 25 endpoints from 2026-08-04 04:50:03 UTC through 2026-08-11 23:59:57 UTC. Only finalised *.jsonl.zst archives with matching SHA-256 checksum files are included. Active files are excluded.
Feed cadence
| Feed | Source | Cadence | Instruments |
|---|---|---|---|
| clock.json | Campaign vantage tips | Every 30s | The "mandatory" window |
| window.json | Archival node headers and blocks | Every 2 min | The "mandatory" window; Since the chains parted |
| branch.json | Knots vantage, its own active chain | Every 2 min | The "mandatory" window; Since the chains parted (the fork) |
| signalling.json | Archival node headers | Every 2 min | Signalling panel |
| attribution.json | Archival node coinbases + mining-pools dataset | Every 10 min | Signalling panel (per-pool) |
| stratum-intent.json | Live Stratum listeners | Every 30s | Pool intent panel |
| tips.json | Three vantages' getchaintips | Every 60s | Chain tips panel |
Cadence is the producer's update interval. Browser polling is separate; an unchanged file causes no visible update.