Generated 2026-10-17T05:20:50Z from live ClickHouse queries against this estate's ledger. Point-in-time archive held for Geodnet: 41,176 observations · 44 distinct series · 4 upstream sources · first row 2026-08-09 17:15:20 · newest row 2026-10-17 04:58:01 · 41,176 rows carry a verify_url · 34 series refreshed in the last 24h (732 fresh rows). Nothing on this page is cached, estimated, or remembered.
Queried live at generation time: default.depin_revision_ledger holds zero rows for GEOD (raw detector output for this network: 0 rows). /v1/revisions?symbol=GEOD cross-check passed: the served API reports 0 row(s), matching the deduped ledger count rendered on this page.
USAGE_REVENUE_USD — is documented below with the recorded reason it is a price effect, not a history rewrite. The moment Geodnet's endpoints republish a stale or rewritten value for an already-observed date, the detector records the before-value, the after-value, both stamps, and the verify URL — and this page turns from a clean bill of health into the evidence log. Subscribe so the event finds you: POST /v1/alerts/subscribe with symbol=GEOD and event=revision_restate. Proof query you can run yourself: curl -s "https://kairossignal.com/v1/revisions?symbol=GEOD"The detector only judges series that are cumulative by construction: a counter that cannot legitimately decrease. A gauge (price, market cap, velocity, holder concentration) legitimately falls when the market moves — that is not a revision and is never recorded as one. For every daily-snapshot series we hold for GEOD (44 metrics, 2,649 rows, 72 snapshot dates), this is its measured state across the full archive, queried live at generation. The 0 watched counter series show 0 backward moves in total — that is the measured content of the zero above. The 43 gauge-class series move both ways by nature and are excluded from the detector by design; the 1 excluded-by-construction series have their refusal reason recorded in the detector so the classification is auditable rather than assumed.
| Metric | Snapshots | First | Latest | Max value | Monotonicity | Detector scope | Provenance |
|---|---|---|---|---|---|---|---|
price | 72 | 2026-08-06 | 2026-10-16 | 0.3158 | 31 backward move(s) | gauge | coingecko |
rev_24h | 72 | 2026-08-06 | 2026-10-16 | 118,166 | 38 backward move(s) | gauge | defillama_fees |
rev_30d | 72 | 2026-08-06 | 2026-10-16 | 957,140 | 37 backward move(s) | gauge | defillama_fees |
total_cities | 72 | 2026-08-06 | 2026-10-16 | 11,709 | monotonic | gauge | first_party_api · origin ↗ |
total_countries | 72 | 2026-08-06 | 2026-10-16 | 175 | monotonic | gauge | first_party_api · origin ↗ |
total_miners | 72 | 2026-08-06 | 2026-10-16 | 21,943 | monotonic | gauge | first_party_api · origin ↗ |
tvl | 1 | 2026-08-06 | 2026-08-06 | 0 | monotonic | gauge | defillama |
usage_revenue_usd | 72 | 2026-08-06 | 2026-10-16 | 10,904,117.2462 | 13 backward move(s) | excluded by construction | depin_first_party |
velocity | 72 | 2026-08-06 | 2026-10-16 | 0.6168 | 37 backward move(s) | gauge | coingecko |
circulating_supply | 64 | 2026-08-09 | 2026-10-16 | 462,548,399.5371 | 9 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
fees_1y_usd | 58 | 2026-08-23 | 2026-10-16 | 9,482,857 | 4 backward move(s) | gauge | DefiLlama /overview/fees · origin ↗ |
fees_24h_usd | 65 | 2026-08-09 | 2026-10-16 | 118,166 | 33 backward move(s) | gauge | DefiLlama /overview/fees · origin ↗ |
fees_30d_usd | 65 | 2026-08-09 | 2026-10-16 | 957,140 | 29 backward move(s) | gauge | DefiLlama /overview/fees · origin ↗ |
fees_7d_usd | 65 | 2026-08-09 | 2026-10-16 | 315,362 | 35 backward move(s) | gauge | DefiLlama /overview/fees · origin ↗ |
fees_alltime_usd | 58 | 2026-08-23 | 2026-10-16 | 13,961,420 | 4 backward move(s) | gauge | DefiLlama /overview/fees · origin ↗ |
fully_diluted_valuation_usd | 64 | 2026-08-09 | 2026-10-16 | 302,872,288 | 30 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
market_cap_change_24h_pct | 58 | 2026-08-22 | 2026-10-16 | 10.6267 | 20 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
market_cap_change_24h_usd | 58 | 2026-08-22 | 2026-10-16 | 13,190,130 | 20 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
market_cap_rank | 58 | 2026-08-22 | 2026-10-16 | 279 | 21 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
market_cap_usd | 64 | 2026-08-09 | 2026-10-16 | 145,723,405 | 30 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
max_supply | 64 | 2026-08-09 | 2026-10-16 | 1,000,000,000 | monotonic | gauge | CoinGecko /coins/markets · origin ↗ |
price_ath_usd | 58 | 2026-08-22 | 2026-10-16 | 0.3743 | monotonic | gauge | CoinGecko /coins/markets · origin ↗ |
price_atl_usd | 58 | 2026-08-22 | 2026-10-16 | 0.03417228 | monotonic | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_14d_pct | 58 | 2026-08-22 | 2026-10-16 | 29.3 | 22 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_1h_pct | 58 | 2026-08-22 | 2026-10-16 | 2.3 | 18 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_1y_pct | 58 | 2026-08-22 | 2026-10-16 | 131.9445 | 23 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_200d_pct | 58 | 2026-08-22 | 2026-10-16 | 122.0208 | 30 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_24h_pct | 58 | 2026-08-22 | 2026-10-16 | 10.2891 | 20 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_24h_usd | 58 | 2026-08-22 | 2026-10-16 | 0.02852831 | 20 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_30d_pct | 58 | 2026-08-22 | 2026-10-16 | 40.5172 | 29 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_change_7d_pct | 58 | 2026-08-22 | 2026-10-16 | 25.8 | 17 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_from_ath_pct | 58 | 2026-08-22 | 2026-10-16 | -15.8077 | monotonic | gauge | CoinGecko /coins/markets · origin ↗ |
price_from_atl_pct | 58 | 2026-08-22 | 2026-10-16 | 822.2886 | 27 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_high_24h_usd | 58 | 2026-08-22 | 2026-10-16 | 0.3664 | 31 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_low_24h_usd | 58 | 2026-08-22 | 2026-10-16 | 0.2978 | 23 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
price_usd | 64 | 2026-08-09 | 2026-10-16 | 0.3152 | 29 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
revenue_24h_usd | 58 | 2026-08-23 | 2026-10-16 | 104,698 | 28 backward move(s) | gauge | DefiLlama /overview/fees · origin ↗ |
revenue_30d_usd | 58 | 2026-08-23 | 2026-10-16 | 957,140 | 26 backward move(s) | gauge | DefiLlama /overview/fees · origin ↗ |
total_cities | 72 | 2026-08-09 | 2026-10-16 | 11,709 | monotonic | gauge | first_party_api · origin ↗ |
total_countries | 72 | 2026-08-09 | 2026-10-16 | 175 | monotonic | gauge | first_party_api · origin ↗ |
total_miners | 72 | 2026-08-09 | 2026-10-16 | 21,943 | monotonic | gauge | first_party_api · origin ↗ |
total_supply | 64 | 2026-08-09 | 2026-10-16 | 963,018,067.6181 | 28 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
total_usage_revenue | 1 | 2026-08-09 | 2026-08-09 | 10,387,316.3439 | monotonic | gauge | first_party_api · origin ↗ |
volume_24h_usd | 58 | 2026-08-22 | 2026-10-16 | 74,691,448 | 30 backward move(s) | gauge | CoinGecko /coins/markets · origin ↗ |
Resolution rule: latest observation wins for current-state reads; the superseded value is retained, never deleted — retaining the before-value is the only reason a restatement is detectable at all.
Measured over the held archive: USAGE_REVENUE_USD declined -5.62% between snapshots — the detector's own build-time measurement, preserved in propintel/revision_ledger.py. It is not in the ledger because the metric is an annualised run-rate — GEODNET renders this same field on its own homepage as “Current Annual Recurring Revenue” — so it moves in both directions with the run-rate, which is not an upstream rewrite of history. (Corrected 2026-09-06: the reason previously given here was “token-denominated and revalued daily at spot”; dividing the value by GEOD spot swings 36% across the archive, so it is not a token quantity.) The refusal is recorded in the detector's NOT_TRULY_CUMULATIVE with that reason, so no future auditor re-adds it. This is what a measured zero looks like: the series that moved is named, the reason it is not a revision is recorded, and neither fact is rounded into silence.
The daily-snapshot detector is not the only rewrite vector. The raw 5-minute stream (default.depin_onchain) was queried for duplicate (metric, as_of) rows carrying two different values — the same-timestamp rewrite pattern that hit Arweave's BLOCKS counter (1,988,930 → 1,702,206 between the 2026-08-27 and 2026-08-28 snapshots). For GEOD the live count at generation is 0: no same-stamp rewrite exists in the held archive.
GEOD is currently the clean case. These networks are not: upstream sources for AR, ATH, AUKI, EIGEN, FLOCK, GRT, NODE, OBOT, OPEN, OVPP, R1, SOGNI, STORJ replaced already-published values after this estate recorded the original. Deduped on revision identity exactly as /v1/revisions dedupes it; rendered live from ClickHouse at generation, not copied from a snapshot. The superseded value is retained, never overwritten; that retention is the only reason a rewrite is detectable, and it is the part every overwriting vendor discards.
| First detected | Network | Metric | Was | Became | Δ | Kind | Provenance |
|---|---|---|---|---|---|---|---|
| 2026-10-17 01:15:02 | AR | blocks | 1,980,116 | 1,702,204 | -14.035% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | AR | blocks | 1,982,176 | 1,702,204 | -14.124% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | AR | blocks | 1,986,220 | 1,702,204 | -14.299% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | AR | blocks | 1,988,930 | 1,702,206 | -14.416% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,419,322 | 1,419,152 | -0.012% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,419,566 | 1,419,322 | -0.017% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,443,521.44 | 1,442,910.44 | -0.042% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,415,054 | 1,414,119 | -0.066% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | NODE | dl_fees_alltime_usd | 811,126 | 810,992 | -0.017% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | NODE | dl_fees_alltime_usd | 811,347 | 810,962 | -0.047% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | OPEN | dl_fees_alltime_usd | 288,385 | 288,055 | -0.114% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | STORJ | disqualified_nodes | 80,238 | 79,569 | -0.834% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 2,001,736 | 1,702,218 | -14.963% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 1,999,726 | 1,702,218 | -14.877% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 1,992,299 | 1,702,218 | -14.560% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 2,007,210 | 1,702,218 | -15.195% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 1,995,677 | 1,702,218 | -14.705% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | ATH | dl_fees_alltime_usd | 180,402,699.27 | 180,348,562.27 | -0.030% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AUKI | dl_fees_alltime_usd | 248,389 | 248,364 | -0.010% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AUKI | dl_fees_alltime_usd | 249,318 | 249,293 | -0.010% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AUKI | dl_fees_alltime_usd | 253,682 | 251,527 | -0.849% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,433,230.44 | 1,433,068.44 | -0.011% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,431,295.44 | 1,428,351.44 | -0.206% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,424,316 | 1,423,345 | -0.068% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,441,313.44 | 1,440,661.44 | -0.045% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | NODE | dl_fees_alltime_usd | 804,574 | 804,388 | -0.023% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | OPEN | dl_fees_alltime_usd | 272,079 | 271,588 | -0.180% | backward_revision | depin_first_party |
| 2026-09-05 01:15:02 | AUKI | token_transfers_total | 1,230,167 | 1,228,860 | -0.106% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | EIGEN | fees_alltime_usd | 161,955,683.53 | 161,932,203.53 | -0.014% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | GRT | fees_alltime_usd | 1,419,558 | 1,419,328 | -0.016% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | GRT | fees_alltime_usd | 1,419,328 | 1,419,152 | -0.012% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | GRT | fees_alltime_usd | 1,424,302 | 1,423,345 | -0.067% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | NODE | fees_alltime_usd | 804,574 | 804,388 | -0.023% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | OBOT | token_transfers_total | 40,253 | 40,246 | -0.017% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | OVPP | token_transfers_total | 1,356,749 | 1,354,903 | -0.136% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | R1 | token_transfers_total | 194,634 | 194,527 | -0.055% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | R1 | token_transfers_total | 194,390 | 194,337 | -0.027% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | SOGNI | token_transfers_total | 1,177,219 | 1,174,145 | -0.261% | backward_revision | evm_blockscout · origin ↗ |
| 2026-08-13 15:35:15 | FLOCK | dl_fees_alltime_usd | 1,170,614.6 | 1,170,544.16 | -0.006% | sub_noise | defillama_fees · origin ↗ |
The detector (propintel/revision_ledger.py) diffs every daily snapshot this estate holds of every cumulative-by-construction series — counters that cannot decrease unless upstream rewrote them (alltime fees, token transfers, block heights, indexed rows, node disqualifications). A row enters default.depin_revision_ledger iff two snapshots disagree for an already-observed date; zero human judgement. Resolution rule: latest observation wins for current-state reads, the superseded value is retained, never overwritten. Population gauges (node counts, prices, utilization) legitimately move both ways and are deliberately excluded — a drop there is a real population change, not a rewrite. Honest boundary: this catches value-history rewrites ex-post; identical-schema semantic drift with plausible values is what the hash-pinned derivation_replay layer is for. The detector's full classification is inspectable at /v1/revisions and frozen daily at /revision-ledger/REVISIONS_20260902.json.
No account, no key, no trust required. Commands 1–2 hit this estate's public API (the same rows this page queried — every row carries source / as_of / verify_url); command 3 hits Geodnet's own miner statistics endpoint, the first-party source of the network family; command 4 is the estate's graded network row; command 5 is the frozen daily snapshot of the ledger. One polite call per endpoint, no hammering.
# 1) The served revision feed for GEOD — the same rows this page queried, live:
curl -s "https://kairossignal.com/v1/revisions?symbol=GEOD" | python3 -m json.tool
# 2) The estate-wide feed (every network, both sides of every diff):
curl -s "https://kairossignal.com/v1/revisions" | python3 -m json.tool | head -80
# 3) Geodnet's own miner statistics endpoint (the first-party source of the network family):
curl -s -H "User-Agent: kairos-check" "https://websiteapi.geodnet.com/api/front/getMinerStatistics" | python3 -m json.tool | head -40
# 4) This estate's public API row for GEOD (grades + provenance):
curl -s "https://kairossignal.com/v1/network/GEOD" | python3 -m json.tool | head -60
# 5) The public daily snapshot of the ledger (frozen copy):
curl -s -o /dev/null -w "%{http_code}\n" "https://kairossignal.com/revision-ledger/REVISIONS_20260902.json"
Method & honesty notes. All counts are queries against the live ledger at generation time, not restamped copy — this page is regenerated by gen_revision_page_geod.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. The GEOD revision count is the deduped live result of SELECT ... FROM default.depin_revision_ledger WHERE network='GEOD'; the page refuses to ship if the served /v1/revisions?symbol=GEOD disagrees with it. The 39 estate-wide events shown are deduped on revision identity exactly as the API dedupes them; detected_at is the first detection and never moves. The zero-restatement claim is backed on this page by the detector-scope classification of every held series (queried live), the measured monotonicity of the one declared-cumulative series, and the same-stamp rewrite check. Series absent from a section are absent, not zero. Upstream probes ran serially by this generator immediately before rendering: websiteapi.geodnet.com getMinerStatistics (first-party) HTTP 200; estate /v1/revisions?symbol=GEOD HTTP 200; estate /v1/network/GEOD HTTP 200.
propintel/gen_revision_page_geod.py · source of truth: default.depin_catalog, default.depin_onchain, default.depin_daily, default.depin_revision_ledger (ClickHouse, live at generation) · Kairos Signal — provenance or silence.