OpenZcash is a read-only mirror: it never holds spend keys and moves no funds. Every figure comes from public sources. Here is how.
When sources disagree, the disagreement is published rather than blended, and each figure names the source that wins for it:
Every source runs on its own schedule, and none of these timestamps describe when the underlying source was last edited. A stale pull does not imply a stale source; a fresh pull does not imply a recent one.
| Source | Cadence | What the timestamp means |
|---|---|---|
| Spreadsheet | every 6 hours | Retrieval time of the last complete import, stamped even when the sheet is unchanged; flagged overdue after a seven-hour grace. |
| GitHub issues | cached ~15 minutes | Fetch time of the issue list, independent of the six-hour cycle. |
| Market price | cached ~10 minutes | The provider's own quote time is named on every quote; provider order is CoinGecko, CoinPaprika, Coinbase. |
| Chain tip | cached ~60 seconds | Height read from lightwalletd; separate from the sheet and price caches. |
| Forum minutes | inside the 6-hour cycle | Import time, best-effort: a failed forum import never marks the collection stale. |
On the totals page every classification is labelled by its nature, so a reader can tell a grant apart from ZCG spending on itself:
The discretionary budget appears two ways, and the two numbers differ on purpose:
Two readings of the same programme at different scopes (cumulative pivot vs. annual budget). That is why the totals page shows a live ledger-vs-published cross-check instead of asserting they match.
Three quantities appear across this site. They describe different things and must not be added together:
Historical ZEC is never revalued at today's price. Treasury USD valuations use the available market price; historical entries keep their recorded rate. The reconciliation page shows ZEC paid and USD paid side by side: read them as two columns of one ledger, not one total.
An approval is not a payment. A recorded payment is a ledger entry, not independent proof that a milestone was delivered or that it had impact. Unpaid entries are not necessarily outstanding commitments: check the grant's status and the original source. Cancelled grants remain inside some budgeted totals and are labelled as such.
This is the rule agents quoting these figures repeat: Zarvis and the published ZCG copilot skill state the same thing.
The transparent treasury reveals aggregate flow only: the Lockbox feeds ZCG's operating treasury, which moves ZEC into the shielded pool. Individual grantee payments leave the shielded pool and are private by design; auditing them one by one would require ZCG's shielded viewing key, which OpenZcash does not hold or use. The cross-check is stored treasury flow plus spreadsheet integrity — never a per-payment on-chain proof. Current figures and the stored scan: reconciliation.
Every number here is queryable. /api/zcg is a read-only JSON index of the endpoints; the data endpoints under /api/zcg/data/ (disbursements, recipients, grants) also return CSV via ?format=csv. Disbursement rows carry provenance: the source sheet and row, a link to the live source row, and the collection time — which is retrieval, not publication.
Spot a wrong figure? Open an issue at github.com/Michae2xl/openzcash/issues. Source corrections reach this site on the next scheduled collection and are recorded automatically in the overview changelog and the RSS feed. Errors in this site's own copy are fixed in the repository.
Last spreadsheet collection: · scheduled every 6h. This is retrieval time, not the source publication date.