ZecStats reference

Methodology

Every number is cross-checked against independent sources — or shown as “—”, never guessed.

Source ZecStats
6independent sources
~40automated checks
~2 minrefresh cycle
5AI auditors

Resilience

The pipeline, at a glance

Primary sourceCipherScan first — serialized, rate-limit-respecting
Independent fallbackBlockchair · CoinGecko · Binance · local math
Last-good snapshotserved stale-stamped, with a visible warning
Honest “—”a missing number beats a made-up one
Emission-math sanity gateimplausible supply is withheld, not published

Every metric walks this ladder until something trustworthy answers. Every section of the summary API carries a provenance stamp (source id, fetch time, ok/stale flags), and degraded sections add human-readable warnings rather than silently serving stale numbers.

Provenance

Per-metric sources

Six metric families, each with a documented primary, fallback, and cross-check. Hover any chip for the detail.

Price

PRIMARYCoinGeckoFALLBACKCipherScanCROSS-CHECK> 3% spread → warning

Price history is app-owned: Binance ZECUSDT daily closes stored since March 2019, with DefiLlama for the first listed price only.

Pools & supply

PRIMARYCipherScan poolsFALLBACKblockchain-info → last-goodCROSS-CHECKEmission-math envelope

Blockchair's Zcash “circulation” field is broken (it disagrees with consensus chainSupply) — excluded; Blockchair is used only for network stats and node counts.

Shield/deshield flows

PRIMARYCipherScan flow seriesFALLBACKOwn flow table

Every successful refresh also persists flows into ZecStats' own store, so the series keeps working if the upstream disappears.

Network

PRIMARYCipherScan network statsFALLBACKBlockchairCROSS-CHECK> 20-block height gap → warning

Reachable nodes come from the Blockchair crawler; mempool from CipherScan with a Blockchair count fallback.

Halving countdown

PRIMARYCipherScan halving APIFALLBACKLocal emission mathCROSS-CHECK> 2,000-block gap → warning

Cross-chain

PRIMARYCipherScan cross-chain indexPRIMARYMaya MidgardCROSS-CHECKRolling-24h trend estimate

The 24h intents figure is an estimate; per-swap history is display-only. THORChain ZEC is excluded (v1): its API was unreachable during validation, and an unverifiable number does not ship.

Honesty

Six principles the data lives by

The scannable claims below are the contract; expand any card for the full reasoning.

Nulls, not guesses — missing data renders as “—”.

Why / details

ZecStats is a deterministic data pipeline: fetch from public sources, validate, persist, render. No AI in the data path, no estimates dressed up as measurements.

When a source fails, the affected section is served from the last good snapshot with a stale stamp and a human-readable warning — and if nothing trustworthy exists, the page shows “—” instead of a fabricated number.

A figure is only called wrong on two independent witnesses.

Why / details

The mechanical audit separates internal math identities — which can fail on their own — from witnessed comparisons against outside sources. A witnessed check only fails when at least two independent witnesses agree the site is off.

CipherScan, as the primary source, is never counted as a witness for itself.

Own history from day one — charts survive any upstream.

Why / details

Every successful refresh persists pool balances and daily flows into ZecStats' own SQLite store (values in exact zatoshi). The site accumulates history independent of any upstream, so charts and deltas keep working — and stay honest — even if a source disappears.

The ZEC price store works the same way: Binance daily closes backfilled to March 2019, plus live ticks.

Implausible supply is withheld, not published.

Why / details

Zcash's supply is fully determined by consensus rules: sum the block subsidies up to the current height and you get the ceiling of what can exist. ZecStats implements that emission schedule independently — the emission-math sanity gate — and checks every reported chain supply against it.

A supply figure outside the envelope (allowing for pre-Blossom timing variance) is withheld, not published — a wrong supply number is worse than none. Current supply 16.86M ZEC passes the gate.

Single-operator risk is hedged, not ignored.

Why / details

CipherScan is an indie project. It is the primary chain-data source and deserves the credit — but it is a single-operator dependency. Fallbacks, last-good snapshots, and our own history store limit the blast radius.

A self-hosted zebrad node is on the roadmap to remove the dependency entirely.

Shielded activity is invisible by design — and we say so.

Why / details

ZecStats reports pool-boundary flows (shield/deshield, turnstile migrations) and pool balance changes only. Nothing on this site estimates activity inside a shielded pool, because nothing can observe it.

What the chain does not publish, this site does not invent. See what is and isn't observable.

Verification

Audited against independent witnesses

Freshness

Refresh cadences

SourceCadence
CipherScan fast set (pools, network, flows, mempool, blocks)every ~2 minutes, requests serialized at > 5.5s spacing
Blockchair network statsevery 10 minutes
CoinGecko price + market factsevery 15 minutes (facts hourly)
Maya Midgardevery 5 minutes
Halving APIevery 6 hours
Lockbox balance (blockchain-info)every 30 minutes

Questions or corrections: use the feedback button on any page, or see about ZecStats. Machine-readable data: /api/zec/summary.