AR.IO Network (ARIO) — the revision ledger

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.

What this page is. Data vendors restate history: a number they published for a date gets replaced later, silently, and everyone who stored the first answer either never notices or overwrites it. This estate keeps a machine detector over its daily snapshots for every cumulative-by-construction series, records the before-value beside the replacement, and serves the record at /v1/revisions. This page is the AR.IO Network (ARIO) view of that product: the live ledger for ARIO — currently zero recorded restatements, published exactly as the query found it — the estate-wide feed as proof the detector works, the archive the detection runs over, and the exact commands to verify any of it without an account. It does not forecast, rank investment merit, or advise. Where a fact has a caveat, the caveat ships with the fact.

Provenance — where AR.IO Network (ARIO)'s archive comes from

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.

SourceRows heldSeriesRows w/ verify_urlWindow (UTC)Sample origin
CoinGecko /coins/markets7,050247,0502026-08-09 17:15:20 → 2026-09-02 19:49:20sample origin ↗
first_party_api56225622026-08-09 23:28:06 → 2026-09-02 19:34:01sample origin ↗
github12061202026-08-09 23:42:07 → 2026-09-02 18:29:01sample origin ↗

Revision ledger — 0 backward revision(s) recorded for ARIO

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.

What the detector watches for AR.IO Network (ARIO) — the intersection, measured

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.

The trails behind the zero — every gauge held, end to end

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 dateObserved valueSource
2026-08-06645depin_first_party
2026-08-07645depin_first_party
2026-08-08645depin_first_party
2026-08-09645depin_first_party
2026-08-10645depin_first_party
2026-08-11645depin_first_party
2026-08-12645depin_first_party
2026-08-13645depin_first_party
2026-08-14645depin_first_party
2026-08-15645depin_first_party
2026-08-16645depin_first_party
2026-08-17645depin_first_party
2026-08-18645depin_first_party
2026-08-19645depin_first_party
2026-08-20645depin_first_party
2026-08-21645depin_first_party
2026-08-22645depin_first_party
2026-08-23645depin_first_party
2026-08-24645depin_first_party
2026-08-25645depin_first_party
2026-08-26645depin_first_party
2026-08-27645depin_first_party
2026-08-28645depin_first_party
2026-08-29645depin_first_party
2026-08-30645depin_first_party
2026-08-31645depin_first_party
2026-09-01645depin_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 dateObserved valueSource
2026-08-06127depin_first_party
2026-08-07130depin_first_party
2026-08-08130depin_first_party
2026-08-09131depin_first_party
2026-08-10134depin_first_party
2026-08-11130depin_first_party
2026-08-12136depin_first_party
2026-08-13140depin_first_party
2026-08-14141depin_first_party
2026-08-15127depin_first_party
2026-08-16129depin_first_party
2026-08-17126depin_first_party
2026-08-18130depin_first_party
2026-08-19131depin_first_party
2026-08-20147depin_first_party
2026-08-21147depin_first_party
2026-08-22148depin_first_party
2026-08-23148depin_first_party
2026-08-24149depin_first_party
2026-08-25151depin_first_party
2026-08-26152depin_first_party
2026-08-27152depin_first_party
2026-08-28152depin_first_party
2026-08-29157depin_first_party
2026-08-30124depin_first_party
2026-08-31129depin_first_party
2026-09-01130depin_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 dateObserved valueSource
2026-08-0637.0636depin_first_party
2026-08-0720.0884depin_first_party
2026-08-0817.2124depin_first_party
2026-08-0914.2372depin_first_party
2026-08-1037.2961depin_first_party
2026-08-1119.7147depin_first_party
2026-08-1214.5178depin_first_party
2026-08-1310.9209depin_first_party
2026-08-149.6016depin_first_party
2026-08-1533.3271depin_first_party
2026-08-1617.8372depin_first_party
2026-08-1729.1659depin_first_party
2026-08-1816.7364depin_first_party
2026-08-1913.6729depin_first_party
2026-08-2012.0946depin_first_party
2026-08-2110.3535depin_first_party
2026-08-229.045depin_first_party
2026-08-238.5705depin_first_party
2026-08-248.0434depin_first_party
2026-08-259.0434depin_first_party
2026-08-268.2419depin_first_party
2026-08-277.8419depin_first_party
2026-08-289.2946depin_first_party
2026-08-298.2636depin_first_party
2026-08-3049.6341depin_first_party
2026-08-3116.0403depin_first_party
2026-09-0112.2047depin_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 dateObserved valueSource
2026-08-061.2depin_first_party
2026-08-071.0124depin_first_party
2026-08-081.0527depin_first_party
2026-08-091.0248depin_first_party
2026-08-101depin_first_party
2026-08-111.0124depin_first_party
2026-08-121.1752depin_first_party
2026-08-131.1597depin_first_party
2026-08-141.2depin_first_party
2026-08-151.3411depin_first_party
2026-08-161.1597depin_first_party
2026-08-171.1535depin_first_party
2026-08-181.2031depin_first_party
2026-08-191.2031depin_first_party
2026-08-201.2806depin_first_party
2026-08-211.3798depin_first_party
2026-08-222.9426depin_first_party
2026-08-231.169depin_first_party
2026-08-241.155depin_first_party
2026-08-251.4806depin_first_party
2026-08-261.7008depin_first_party
2026-08-271.6884depin_first_party
2026-08-281.6574depin_first_party
2026-08-291.8109depin_first_party
2026-08-3043.1721depin_first_party
2026-08-311.8388depin_first_party
2026-09-011.7736depin_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 dateObserved valueSource
2026-08-09721,120CoinGecko /coins/markets
2026-08-17726,420CoinGecko /coins/markets
2026-08-18557,556CoinGecko /coins/markets
2026-08-19517,683CoinGecko /coins/markets
2026-08-20438,851CoinGecko /coins/markets
2026-08-21359,870CoinGecko /coins/markets
2026-08-22372,843CoinGecko /coins/markets
2026-08-23483,912CoinGecko /coins/markets
2026-08-24544,658CoinGecko /coins/markets
2026-08-25520,148CoinGecko /coins/markets
2026-08-26535,828CoinGecko /coins/markets
2026-08-27683,529CoinGecko /coins/markets
2026-08-28635,518CoinGecko /coins/markets
2026-08-29819,770CoinGecko /coins/markets
2026-08-301,000,053CoinGecko /coins/markets
2026-08-31909,288CoinGecko /coins/markets
2026-09-01921,208CoinGecko /coins/markets

Cross-source agreement — two independent pipelines, one quantity, one origin

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 dateFirehose PEER_GATEWAYSCollector gateway_count|Δ|VerdictFirehose source
2026-08-096456450agreedepin_first_party
2026-08-106456450agreedepin_first_party
2026-08-116456450agreedepin_first_party
2026-08-126456450agreedepin_first_party
2026-08-136456450agreedepin_first_party
2026-08-146456450agreedepin_first_party
2026-08-156456450agreedepin_first_party
2026-08-166456450agreedepin_first_party
2026-08-176456450agreedepin_first_party
2026-08-186456450agreedepin_first_party
2026-08-196456450agreedepin_first_party
2026-08-206456450agreedepin_first_party
2026-08-216456450agreedepin_first_party
2026-08-226456450agreedepin_first_party
2026-08-236456450agreedepin_first_party
2026-08-246456450agreedepin_first_party
2026-08-256456450agreedepin_first_party
2026-08-266456450agreedepin_first_party
2026-08-276456450agreedepin_first_party
2026-08-286456450agreedepin_first_party
2026-08-296456450agreedepin_first_party
2026-08-306456450agreedepin_first_party
2026-08-316456450agreedepin_first_party
2026-09-016456450agreedepin_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 dateFirehose ARWEAVE_NODESCollector arweave_nodes_count|Δ|VerdictFirehose source
2026-08-091311310agreedepin_first_party

Gauges that moved backward — deliberately NOT revisions

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 observedSnapshot rows held
MEAN_DATA_WEIGHT2027
MEAN_CHUNK_WEIGHT1227
fully_diluted_valuation_usd717
market_cap_usd717
price_usd717
market_cap_rank611
market_cap_change_24h_pct511
price_change_24h_pct511
volume_24h_usd511
ARWEAVE_NODES427
market_cap_change_24h_usd411
price_change_24h_usd411
price_high_24h_usd411
price_change_14d_pct211

Same-timestamp conflicting values on record for ARIO: none

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.

The ledger, live — every restatement recorded estate-wide (18 deduped events)

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 detectedNetworkMetricWasBecameΔKindProvenance
2026-09-02 01:15:01GRTdl_fees_alltime_usd1,424,3161,423,345-0.068%backward_revisiondepin_first_party · origin ↗
2026-09-02 01:15:01GRTfees_alltime_usd1,424,3021,423,345-0.067%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-02 01:15:01OVPPtoken_transfers_total1,356,7491,354,903-0.136%backward_revisionevm_blockscout · origin ↗
2026-09-01 23:34:07ARblocks1,986,2201,702,204-14.299%backward_revisiondepin_first_party · origin ↗
2026-09-01 23:34:07ARblocks1,980,1161,702,204-14.035%backward_revisiondepin_first_party · origin ↗
2026-09-01 23:34:07ARblocks1,988,9301,702,206-14.416%backward_revisiondepin_first_party · origin ↗
2026-09-01 23:34:07ARblocks1,982,1761,702,204-14.124%backward_revisiondepin_first_party · origin ↗
2026-09-01 23:34:07AUKItoken_transfers_total1,230,1671,228,860-0.106%backward_revisionevm_blockscout · origin ↗
2026-09-01 23:34:07EIGENfees_alltime_usd161,955,683.53161,932,203.53-0.014%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-01 23:34:07GRTfees_alltime_usd1,419,3281,419,152-0.012%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-01 23:34:07GRTfees_alltime_usd1,419,5581,419,328-0.016%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-01 23:34:07R1token_transfers_total194,390194,337-0.027%backward_revisionevm_blockscout · origin ↗
2026-09-01 23:34:07SOGNItoken_transfers_total1,177,2191,174,145-0.261%backward_revisionevm_blockscout · origin ↗
2026-09-01 23:33:32GRTdl_fees_alltime_usd1,419,3221,419,152-0.012%backward_revisiondepin_first_party · origin ↗
2026-09-01 23:33:32GRTdl_fees_alltime_usd1,415,0541,414,119-0.066%backward_revisiondepin_first_party · origin ↗
2026-09-01 23:33:32GRTdl_fees_alltime_usd1,419,5661,419,322-0.017%backward_revisiondepin_first_party · origin ↗
2026-09-01 23:33:32STORJdisqualified_nodes80,23879,569-0.834%backward_revisiondepin_first_party · origin ↗
2026-08-13 15:35:15FLOCKdl_fees_alltime_usd1,170,614.61,170,544.16-0.006%sub_noisedefillama_fees · origin ↗

How detection works — and what it cannot see

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.

The snapshot archive the detection runs over

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.

Verify any cell yourself — the exact commands

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"
Get this network as a data feed. Every number here is one API call away, with the same provenance fields — including the revision feed itself. Pricing · Self-register for free $5 API credits — no card, no human · API reference. Machine-readable row for this network: /v1/network/ARIO.

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.

Machine-generated 2026-09-02T20:19:35Z by 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.