Generated 2026-09-02T20:19:35Z from live ClickHouse queries against this estate's ledger. Point-in-time archive held for AR.IO Network (ARIO): 7,732 observations · 32 distinct series · 3 upstream sources · first row 2026-08-09 17:15:20 · newest row 2026-09-02 19:49:20 · every one of the 7,732 rows carries a verify_url · 31 series refreshed in the last 24h (702 fresh rows). Nothing on this page is cached, estimated, or remembered.
3 source families feed this network's ledger. Every row they wrote carries its own source, as_of and verify_url; this table is the live rollup of that. AR.IO Network (the catalog name here is AR.IO Network, symbol ARIO, category storage, chains base + solana) DOES publish a first-party public stats API — https://ar-io.dev/ar-io/peers — and it is the network's own gateway-registry read: the count of gateway peers, the count of arweave nodes across the tracked set, and per-gateway data/chunk weights. This estate reads it through TWO independent capture pipelines (cross-checked below): the depin_first_party Go firehose (hourly) and the first_party_api Python collector — alongside CoinGecko's market series and GitHub dev-activity series for ar-io/ar-io-node. The ARIO token contract address in the catalog (DcNnMuFxwhgV4WY1HVSaSEgr92bv2b1vUvEKiNxWqHdF, Base chain) is an Arweave-style address, not an EVM contract — no chain-RPC token counter family exists for this network in the archive.
| Source | Rows held | Series | Rows w/ verify_url | Window (UTC) | Sample origin |
|---|---|---|---|---|---|
| CoinGecko /coins/markets | 7,050 | 24 | 7,050 | 2026-08-09 17:15:20 → 2026-09-02 19:49:20 | sample origin ↗ |
| first_party_api | 562 | 2 | 562 | 2026-08-09 23:28:06 → 2026-09-02 19:34:01 | sample origin ↗ |
| github | 120 | 6 | 120 | 2026-08-09 23:42:07 → 2026-09-02 18:29:01 | sample origin ↗ |
The ledger query ran during generation and returned 0 rows for ARIO. Zero here is the live query result, not a gap — the ledger itself is at /v1/revisions?symbol=ARIO (the same query this page ran, served live), and a restatement would appear on this page the day the detector records one. /v1/revisions cross-check unavailable at generation (HTTP Error 429: Too Many Requests); counts re-derived live from ClickHouse.
Why zero is the interesting answer. The detector was watching ARIO across the entire snapshot window — and the live intersection below shows the archive holds zero cumulative-by-construction series for this network. Every series the estate holds for ARIO is either a population gauge (gateway peers, arweave nodes), a revalued market gauge (price, market cap, supply), a mean-weight gauge, or a dev-activity counter (stars and forks — revisable both ways legitimately). With no cumulative counter in the archive, there is structurally nothing the detector could see a rewrite in: publishing that empty intersection as a live query result — instead of padding the page with gauge noise — is the same retention discipline the ledger exists to sell.
The detector diffs every daily snapshot of every cumulative-by-construction series. Below is the live intersection of the estate detector's cumulative watchlist — imported directly from propintel/revision_ledger.py (75 declared names, so this page can never drift from the detector) — with what the daily archive holds for ARIO.
Live query result: 0 watchlist series held for ARIO. The intersection query ran during generation and returned an empty set — none of the 75 cumulative-by-construction metric families the detector watches appear in ARIO's daily archive. This is the structural zero behind the ledger count above, published as the query found it. ARIO's supply-side series (gateway peers, arweave nodes, mean data/chunk weights) are fleet gauges by construction: gateways join and leave, weights re-measure. They are excluded from the detector's revision class for exactly the same reason price is — not by omission.
These are the actual series the estate holds for ARIO, rendered live from the archive. Each is a gauge that may legitimately move both ways — gateways join and leave, weights re-measure, the market revalues — which is why the detector excludes them by construction, and exactly why the ledger above is empty. The raw runs are the evidence; the reader does not have to trust the summary.
PEER_GATEWAYS — the count of AR.IO gateway peers returned by the network's own stats API (https://ar-io.dev/ar-io/peers), captured hourly by this estate's depin_first_party Go firehose, across all 27 snapshot days:
| Snapshot date | Observed value | Source |
|---|---|---|
| 2026-08-06 | 645 | depin_first_party |
| 2026-08-07 | 645 | depin_first_party |
| 2026-08-08 | 645 | depin_first_party |
| 2026-08-09 | 645 | depin_first_party |
| 2026-08-10 | 645 | depin_first_party |
| 2026-08-11 | 645 | depin_first_party |
| 2026-08-12 | 645 | depin_first_party |
| 2026-08-13 | 645 | depin_first_party |
| 2026-08-14 | 645 | depin_first_party |
| 2026-08-15 | 645 | depin_first_party |
| 2026-08-16 | 645 | depin_first_party |
| 2026-08-17 | 645 | depin_first_party |
| 2026-08-18 | 645 | depin_first_party |
| 2026-08-19 | 645 | depin_first_party |
| 2026-08-20 | 645 | depin_first_party |
| 2026-08-21 | 645 | depin_first_party |
| 2026-08-22 | 645 | depin_first_party |
| 2026-08-23 | 645 | depin_first_party |
| 2026-08-24 | 645 | depin_first_party |
| 2026-08-25 | 645 | depin_first_party |
| 2026-08-26 | 645 | depin_first_party |
| 2026-08-27 | 645 | depin_first_party |
| 2026-08-28 | 645 | depin_first_party |
| 2026-08-29 | 645 | depin_first_party |
| 2026-08-30 | 645 | depin_first_party |
| 2026-08-31 | 645 | depin_first_party |
| 2026-09-01 | 645 | depin_first_party |
ARWEAVE_NODES — the count of arweave nodes across the tracked gateway set, same firehose capture of the same endpoint, across all 27 snapshot days:
| Snapshot date | Observed value | Source |
|---|---|---|
| 2026-08-06 | 127 | depin_first_party |
| 2026-08-07 | 130 | depin_first_party |
| 2026-08-08 | 130 | depin_first_party |
| 2026-08-09 | 131 | depin_first_party |
| 2026-08-10 | 134 | depin_first_party |
| 2026-08-11 | 130 | depin_first_party |
| 2026-08-12 | 136 | depin_first_party |
| 2026-08-13 | 140 | depin_first_party |
| 2026-08-14 | 141 | depin_first_party |
| 2026-08-15 | 127 | depin_first_party |
| 2026-08-16 | 129 | depin_first_party |
| 2026-08-17 | 126 | depin_first_party |
| 2026-08-18 | 130 | depin_first_party |
| 2026-08-19 | 131 | depin_first_party |
| 2026-08-20 | 147 | depin_first_party |
| 2026-08-21 | 147 | depin_first_party |
| 2026-08-22 | 148 | depin_first_party |
| 2026-08-23 | 148 | depin_first_party |
| 2026-08-24 | 149 | depin_first_party |
| 2026-08-25 | 151 | depin_first_party |
| 2026-08-26 | 152 | depin_first_party |
| 2026-08-27 | 152 | depin_first_party |
| 2026-08-28 | 152 | depin_first_party |
| 2026-08-29 | 157 | depin_first_party |
| 2026-08-30 | 124 | depin_first_party |
| 2026-08-31 | 129 | depin_first_party |
| 2026-09-01 | 130 | depin_first_party |
MEAN_DATA_WEIGHT — the mean dataWeight across the gateway set, same firehose capture of the same endpoint, across all 27 snapshot days:
| Snapshot date | Observed value | Source |
|---|---|---|
| 2026-08-06 | 37.0636 | depin_first_party |
| 2026-08-07 | 20.0884 | depin_first_party |
| 2026-08-08 | 17.2124 | depin_first_party |
| 2026-08-09 | 14.2372 | depin_first_party |
| 2026-08-10 | 37.2961 | depin_first_party |
| 2026-08-11 | 19.7147 | depin_first_party |
| 2026-08-12 | 14.5178 | depin_first_party |
| 2026-08-13 | 10.9209 | depin_first_party |
| 2026-08-14 | 9.6016 | depin_first_party |
| 2026-08-15 | 33.3271 | depin_first_party |
| 2026-08-16 | 17.8372 | depin_first_party |
| 2026-08-17 | 29.1659 | depin_first_party |
| 2026-08-18 | 16.7364 | depin_first_party |
| 2026-08-19 | 13.6729 | depin_first_party |
| 2026-08-20 | 12.0946 | depin_first_party |
| 2026-08-21 | 10.3535 | depin_first_party |
| 2026-08-22 | 9.045 | depin_first_party |
| 2026-08-23 | 8.5705 | depin_first_party |
| 2026-08-24 | 8.0434 | depin_first_party |
| 2026-08-25 | 9.0434 | depin_first_party |
| 2026-08-26 | 8.2419 | depin_first_party |
| 2026-08-27 | 7.8419 | depin_first_party |
| 2026-08-28 | 9.2946 | depin_first_party |
| 2026-08-29 | 8.2636 | depin_first_party |
| 2026-08-30 | 49.6341 | depin_first_party |
| 2026-08-31 | 16.0403 | depin_first_party |
| 2026-09-01 | 12.2047 | depin_first_party |
MEAN_CHUNK_WEIGHT — the mean chunkWeight across the gateway set, same firehose capture of the same endpoint, across all 27 snapshot days:
| Snapshot date | Observed value | Source |
|---|---|---|
| 2026-08-06 | 1.2 | depin_first_party |
| 2026-08-07 | 1.0124 | depin_first_party |
| 2026-08-08 | 1.0527 | depin_first_party |
| 2026-08-09 | 1.0248 | depin_first_party |
| 2026-08-10 | 1 | depin_first_party |
| 2026-08-11 | 1.0124 | depin_first_party |
| 2026-08-12 | 1.1752 | depin_first_party |
| 2026-08-13 | 1.1597 | depin_first_party |
| 2026-08-14 | 1.2 | depin_first_party |
| 2026-08-15 | 1.3411 | depin_first_party |
| 2026-08-16 | 1.1597 | depin_first_party |
| 2026-08-17 | 1.1535 | depin_first_party |
| 2026-08-18 | 1.2031 | depin_first_party |
| 2026-08-19 | 1.2031 | depin_first_party |
| 2026-08-20 | 1.2806 | depin_first_party |
| 2026-08-21 | 1.3798 | depin_first_party |
| 2026-08-22 | 2.9426 | depin_first_party |
| 2026-08-23 | 1.169 | depin_first_party |
| 2026-08-24 | 1.155 | depin_first_party |
| 2026-08-25 | 1.4806 | depin_first_party |
| 2026-08-26 | 1.7008 | depin_first_party |
| 2026-08-27 | 1.6884 | depin_first_party |
| 2026-08-28 | 1.6574 | depin_first_party |
| 2026-08-29 | 1.8109 | depin_first_party |
| 2026-08-30 | 43.1721 | depin_first_party |
| 2026-08-31 | 1.8388 | depin_first_party |
| 2026-09-01 | 1.7736 | depin_first_party |
market_cap_usd — the CoinGecko /coins/markets daily market-cap row (revalued daily at spot — a gauge by construction), across all 17 snapshot days:
| Snapshot date | Observed value | Source |
|---|---|---|
| 2026-08-09 | 721,120 | CoinGecko /coins/markets |
| 2026-08-17 | 726,420 | CoinGecko /coins/markets |
| 2026-08-18 | 557,556 | CoinGecko /coins/markets |
| 2026-08-19 | 517,683 | CoinGecko /coins/markets |
| 2026-08-20 | 438,851 | CoinGecko /coins/markets |
| 2026-08-21 | 359,870 | CoinGecko /coins/markets |
| 2026-08-22 | 372,843 | CoinGecko /coins/markets |
| 2026-08-23 | 483,912 | CoinGecko /coins/markets |
| 2026-08-24 | 544,658 | CoinGecko /coins/markets |
| 2026-08-25 | 520,148 | CoinGecko /coins/markets |
| 2026-08-26 | 535,828 | CoinGecko /coins/markets |
| 2026-08-27 | 683,529 | CoinGecko /coins/markets |
| 2026-08-28 | 635,518 | CoinGecko /coins/markets |
| 2026-08-29 | 819,770 | CoinGecko /coins/markets |
| 2026-08-30 | 1,000,053 | CoinGecko /coins/markets |
| 2026-08-31 | 909,288 | CoinGecko /coins/markets |
| 2026-09-01 | 921,208 | CoinGecko /coins/markets |
Two independent capture pipelines read the same upstream origin — AR.IO Network's own stats API https://ar-io.dev/ar-io/peers: this estate's depin_first_party Go firehose (writes PEER_GATEWAYS hourly) and its first_party_api Python collector (writes gateway_count on its own schedule). Neither pipeline can see the other's write; the only shared fact is the origin endpoint. On the snapshot days where both hold a value, the two captures agree exactly on 24 of 24 overlapping days. A live-computed check, not an assertion — every overlapping day, both values, and the delta:
| Snapshot date | Firehose PEER_GATEWAYS | Collector gateway_count | |Δ| | Verdict | Firehose source |
|---|---|---|---|---|---|
| 2026-08-09 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-10 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-11 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-12 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-13 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-14 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-15 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-16 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-17 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-18 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-19 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-20 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-21 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-22 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-23 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-24 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-25 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-26 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-27 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-28 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-29 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-30 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-08-31 | 645 | 645 | 0 | agree | depin_first_party |
| 2026-09-01 | 645 | 645 | 0 | agree | depin_first_party |
The same two pipelines also both capture the arweave-node count (firehose ARWEAVE_NODES vs collector arweave_nodes_count). Overlapping days held: 1. Note the firehose series itself wobbles (127 → 157 → 124 across the window) — that is the network changing, and it is why this gauge class is excluded from revision detection.
| Snapshot date | Firehose ARWEAVE_NODES | Collector arweave_nodes_count | |Δ| | Verdict | Firehose source |
|---|---|---|---|---|---|
| 2026-08-09 | 131 | 131 | 0 | agree | depin_first_party |
These series fall outside the detector's cumulative-by-construction class (NOT_TRULY_CUMULATIVE and plain gauges in propintel/revision_ledger.py): a drop there is a real fleet or market change, not upstream rewriting history. For ARIO the backward movers are the gateway-fleet weights and the market/price classes. Publishing them as "revisions" would be exactly the fake-metric behaviour this product exists to eliminate.
| Series (gauge / revaluation) | Backward moves observed | Snapshot rows held |
|---|---|---|
MEAN_DATA_WEIGHT | 20 | 27 |
MEAN_CHUNK_WEIGHT | 12 | 27 |
fully_diluted_valuation_usd | 7 | 17 |
market_cap_usd | 7 | 17 |
price_usd | 7 | 17 |
market_cap_rank | 6 | 11 |
market_cap_change_24h_pct | 5 | 11 |
price_change_24h_pct | 5 | 11 |
volume_24h_usd | 5 | 11 |
ARWEAVE_NODES | 4 | 27 |
market_cap_change_24h_usd | 4 | 11 |
price_change_24h_usd | 4 | 11 |
price_high_24h_usd | 4 | 11 |
price_change_14d_pct | 2 | 11 |
The task-level conflict check, run live: any (metric, timestamp) family where this estate recorded two or more different values. The query ran at generation and returned 0 groups in both depin_onchain and depin_daily — every (metric, timestamp) pair the estate holds for ARIO carries exactly one value. Zero here is the live query result, not a gap; the archive kept every write it made, and none of them disagree.
Deduped on revision identity exactly as /v1/revisions dedupes it. This is the same feed a subscriber polls; it is rendered live from ClickHouse at generation, not copied from a snapshot. Each row is an upstream source replacing the value of a (network, metric, date) it had already published — after this estate recorded the original. The superseded value is retained, never deleted; 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-09-02 01:15:01 | GRT | dl_fees_alltime_usd | 1,424,316 | 1,423,345 | -0.068% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-02 01:15:01 | GRT | fees_alltime_usd | 1,424,302 | 1,423,345 | -0.067% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-02 01:15:01 | OVPP | token_transfers_total | 1,356,749 | 1,354,903 | -0.136% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-01 23:34:07 | AR | blocks | 1,986,220 | 1,702,204 | -14.299% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-01 23:34:07 | AR | blocks | 1,980,116 | 1,702,204 | -14.035% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-01 23:34:07 | AR | blocks | 1,988,930 | 1,702,206 | -14.416% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-01 23:34:07 | AR | blocks | 1,982,176 | 1,702,204 | -14.124% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-01 23:34:07 | AUKI | token_transfers_total | 1,230,167 | 1,228,860 | -0.106% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-01 23:34:07 | EIGEN | fees_alltime_usd | 161,955,683.53 | 161,932,203.53 | -0.014% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-01 23:34:07 | GRT | fees_alltime_usd | 1,419,328 | 1,419,152 | -0.012% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-01 23:34:07 | GRT | fees_alltime_usd | 1,419,558 | 1,419,328 | -0.016% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-01 23:34:07 | R1 | token_transfers_total | 194,390 | 194,337 | -0.027% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-01 23:34:07 | SOGNI | token_transfers_total | 1,177,219 | 1,174,145 | -0.261% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-01 23:33:32 | GRT | dl_fees_alltime_usd | 1,419,322 | 1,419,152 | -0.012% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-01 23:33:32 | GRT | dl_fees_alltime_usd | 1,415,054 | 1,414,119 | -0.066% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-01 23:33:32 | GRT | dl_fees_alltime_usd | 1,419,566 | 1,419,322 | -0.017% | backward_revision | depin_first_party · origin ↗ |
| 2026-09-01 23:33:32 | STORJ | disqualified_nodes | 80,238 | 79,569 | -0.834% | backward_revision | depin_first_party · 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 (block heights, transaction and transfer counters, lifetime fees). 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 deleted. Population gauges (provider sets, node counts, prices, capacity, rolling windows) legitimately move both ways and are deliberately excluded — a drop there is a real change, not a rewrite; the gauge tables on this page are the worked example. 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.
ARIO's slice of depin_daily: 433 rows over 27 snapshot days (2026-08-06 → 2026-09-01), from 3 source families. Each snapshot is a same-day capture of every series the collectors touched; the detector diffs consecutive snapshots of cumulative series across this window. This is the substrate the zero above is measured over — not an assumption, a measured archive.
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 the network's own stats API that the gateway/node/weight rows were captured from; command 4 is the GitHub origin of the dev-activity series; command 5 is the estate's graded network row; command 6 is the frozen daily snapshot of the ledger. The CoinGecko market-series origin page is linked per-source in the provenance table above. One polite call per endpoint, no hammering.
# 1) The served revision feed for ARIO — the same rows this page queried, live:
curl -s "https://kairossignal.com/v1/revisions?symbol=ARIO" | 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) AR.IO Network's own public stats API — the first-party origin of every gateway/node/weight series on this page:
curl -s -H "User-Agent: kairos-check" "https://ar-io.dev/ar-io/peers" | python3 -c "import json,sys; d=json.load(sys.stdin); print('gateway peers:', len(d['gateways']))"
# 4) GitHub API for ar-io/ar-io-node (the dev_* origin family):
curl -s "https://api.github.com/repos/ar-io/ar-io-node" | python3 -m json.tool | head -30
# 5) This estate's public API row for ARIO (grades + provenance):
curl -s "https://kairossignal.com/v1/network/ARIO" | python3 -m json.tool | head -60
# 6) 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_ario.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. The ARIO revision count is the live result of SELECT count() FROM default.depin_revision_ledger WHERE network='ARIO'; the page refuses to ship if the served /v1/revisions?symbol=ARIO disagrees with it, and states the fact plainly if that endpoint is unavailable at generation. The 18 estate-wide events shown are deduped on revision identity (deterministic hash of network, metric, current_date, prior_date) exactly as the API dedupes them; detected_at is the first detection and never moves. Series absent from a section are absent, not zero. The same-stamp conflict check is the honest live answer: 0 groups in depin_onchain and 0 in depin_daily. Upstream probes ran serially by this generator immediately before rendering: ar-io.dev/ar-io/peers — AR.IO Network's own public stats API, the first-party origin of every gateway/node/weight series on this page HTTP 200; CoinGecko AR.IO Network page (browser-verified origin; 403 here is its bot wall) HTTP 403; GitHub API for ar-io/ar-io-node (the dev_* origin family) HTTP 200; estate /v1/revisions?symbol=ARIO HTTP 429; estate /v1/network/ARIO HTTP 429.
propintel/gen_revision_page_ario.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.