Roam (ROAM) — the revision ledger

Generated 2026-10-17T05:44:39Z from live ClickHouse queries against this estate's ledger. Point-in-time archive held for ROAM Token: 34,764 observations · 33 distinct series · 2 upstream sources · first row 2026-08-09 17:15:20 · newest row 2026-10-17 05:34:02 · every one of the 34,764 rows carries a verify_url · 27 series refreshed in the last 24h (648 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 ROAM view of that product: the live ledger for ROAM, 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 ROAM Token's archive comes from

2 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. Roam DOES expose a public first-party stats API — the estate polls api.weroam.xyz/v1/explorer/stat/total/num (the catalog's stats_api_url) for members, WiFi nodes, bound/online/metablox miners, network checks, issued points and stickers, landing under two collector spellings (first_party_api for the point-in-time rows and depin_first_party for the daily-snapshot family). The second family is CoinGecko's market series for the ROAM Token (chains binance-smart-chain and solana; token address RoamA1USA8xjvpTJZ6RvvxyDRzNh6GCA1zVGKSiMVkn on Solana): price, market cap, supply and volume.

SourceRows heldSeriesRows w/ verify_urlWindow (UTC)Sample origin
CoinGecko /coins/markets30,9782430,9782026-08-09 17:15:20 → 2026-10-17 04:51:55sample origin ↗
first_party_api3,78693,7862026-08-09 23:28:06 → 2026-10-17 05:34:02sample origin ↗

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

The ledger query ran during generation and returned 0 rows for ROAM — and ROAM's zero is a measured negative: the daily archive this estate holds for ROAM — 2267 rows over 72 snapshots (2026-08-06 → 2026-10-16) — contains four cumulative-class series the detector watches, every snapshot pair of all four was diffed, and every pair is monotonic. Real counters were watched; none was rewritten. Where a sibling network (AR) shows a BLOCKS restatement (1,988,930 → 1,702,206, on the estate-wide ledger below), ROAM's watched counters show nothing of the kind. The fee families the detector watches elsewhere (all-time protocol fees) are simply not part of ROAM's daily archive — absence stated, not filled. Zero here is the live query result plus the measured trails below, not a gap — the ledger itself is at /v1/revisions?symbol=ROAM (the same query this page ran, served live), and a restatement would appear on this page the day the detector records one. /v1/revisions?symbol=ROAM cross-check passed: the served API reports 0 row(s), matching the ledger count rendered on this page.

What the detector watches for ROAM Token — 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 (11 declared names, so this page can never drift from the detector) — with what the daily archive holds for ROAM. Four watched series are held and were fully diffed; none produced a backward pair. That is the structural content of the zero above: watchable counters exist, and they are clean.

Live query result: 0 watchlist series held for ROAM. The intersection query ran during generation and returned an empty set — none of the 11 cumulative-by-construction metric families the detector watches appear in ROAM's daily archive. This is the structural zero behind the ledger count above, published as the query found it.

The trails behind the zero — watched counters, end to end

These are the actual counter trails the detector diffed for ROAM, rendered live from the archive. Each is a series that cannot decrease unless upstream rewrote history — which is exactly what makes their smooth monotonicity the proof behind the zero, and the same trails where an AR-style restatement would appear if it ever happened. Both come from the weRoam first-party explorer-stats collector (CHECKS_TOTAL, QUALITY_CHECKS under depin_first_party).

CHECKS_TOTAL — lifetime network checks recorded by the Roam app (weRoam explorer stats, the series class that produced real restatements for SOGNI, AUKI and R1 elsewhere in the estate):

Snapshot dateTotal checksSource
2026-08-06765,712,996depin_first_party
2026-08-07765,815,119depin_first_party
2026-08-08765,902,927depin_first_party
2026-08-09765,981,147depin_first_party
2026-08-10766,072,464depin_first_party
2026-08-11766,165,443depin_first_party
2026-08-12766,254,912depin_first_party
2026-08-13766,350,297depin_first_party
2026-08-14766,446,684depin_first_party
2026-08-15766,546,828depin_first_party
2026-08-16766,638,986depin_first_party
2026-08-17766,733,729depin_first_party
2026-08-18766,829,692depin_first_party
2026-08-19766,930,797depin_first_party
2026-08-20767,034,492depin_first_party
2026-08-21767,132,440depin_first_party
2026-08-22767,222,143depin_first_party
2026-08-23767,313,132depin_first_party
2026-08-24767,409,833depin_first_party
2026-08-25767,500,483depin_first_party
2026-08-26767,604,367depin_first_party
2026-08-27767,707,457depin_first_party
2026-08-28767,812,431depin_first_party
2026-08-29767,910,832depin_first_party
2026-08-30767,994,313depin_first_party
2026-08-31768,088,796depin_first_party
2026-09-01768,180,307depin_first_party
2026-09-02768,277,363depin_first_party
2026-09-03768,371,290depin_first_party
2026-09-04768,461,304depin_first_party
2026-09-05768,544,520depin_first_party
2026-09-06768,627,134depin_first_party
2026-09-07768,714,205depin_first_party
2026-09-08768,798,286depin_first_party
2026-09-09768,892,957depin_first_party
2026-09-10768,990,923depin_first_party
2026-09-11769,091,394depin_first_party
2026-09-12769,194,140depin_first_party
2026-09-13769,276,079depin_first_party
2026-09-14769,381,780depin_first_party
2026-09-15769,491,641depin_first_party
2026-09-16769,597,754depin_first_party
2026-09-17769,696,310depin_first_party
2026-09-18769,801,857depin_first_party
2026-09-19769,898,299depin_first_party
2026-09-20769,989,275depin_first_party
2026-09-21770,085,436depin_first_party
2026-09-22770,183,150depin_first_party
2026-09-23770,276,830depin_first_party
2026-09-24770,353,729depin_first_party
2026-09-25770,416,338depin_first_party
2026-09-26770,479,155depin_first_party
2026-09-27770,535,076depin_first_party
2026-09-28770,637,969depin_first_party
2026-09-29770,737,623depin_first_party
2026-09-30770,840,469depin_first_party
2026-10-01770,931,218depin_first_party
2026-10-02771,026,353depin_first_party
2026-10-03771,114,763depin_first_party
2026-10-04771,201,874depin_first_party
2026-10-05771,289,571depin_first_party
2026-10-06771,380,821depin_first_party
2026-10-07771,472,179depin_first_party
2026-10-08771,559,686depin_first_party
2026-10-09771,637,329depin_first_party
2026-10-10771,702,441depin_first_party
2026-10-11771,784,098depin_first_party
2026-10-12771,888,860depin_first_party
2026-10-13771,994,275depin_first_party
2026-10-14772,101,559depin_first_party
2026-10-15772,202,528depin_first_party
2026-10-16772,308,166depin_first_party

QUALITY_CHECKS — lifetime quality-verified checks on the Roam network:

Snapshot dateQuality checksSource
2026-08-06139,997,896depin_first_party
2026-08-07140,021,360depin_first_party
2026-08-08140,041,420depin_first_party
2026-08-09140,059,373depin_first_party
2026-08-10140,080,352depin_first_party
2026-08-11140,101,531depin_first_party
2026-08-12140,122,273depin_first_party
2026-08-13140,144,973depin_first_party
2026-08-14140,167,903depin_first_party
2026-08-15140,191,774depin_first_party
2026-08-16140,213,776depin_first_party
2026-08-17140,236,209depin_first_party
2026-08-18140,258,949depin_first_party
2026-08-19140,282,875depin_first_party
2026-08-20140,307,713depin_first_party
2026-08-21140,331,208depin_first_party
2026-08-22140,352,491depin_first_party
2026-08-23140,374,330depin_first_party
2026-08-24140,397,564depin_first_party
2026-08-25140,419,465depin_first_party
2026-08-26140,444,252depin_first_party
2026-08-27140,468,709depin_first_party
2026-08-28140,493,720depin_first_party
2026-08-29140,517,101depin_first_party
2026-08-30140,537,211depin_first_party
2026-08-31140,559,816depin_first_party
2026-09-01140,581,736depin_first_party
2026-09-02140,605,045depin_first_party
2026-09-03140,627,614depin_first_party
2026-09-04140,649,068depin_first_party
2026-09-05140,668,807depin_first_party
2026-09-06140,688,484depin_first_party
2026-09-07140,709,305depin_first_party
2026-09-08140,729,237depin_first_party
2026-09-09140,751,795depin_first_party
2026-09-10140,775,064depin_first_party
2026-09-11140,798,956depin_first_party
2026-09-12140,823,352depin_first_party
2026-09-13140,843,038depin_first_party
2026-09-14140,868,255depin_first_party
2026-09-15140,894,356depin_first_party
2026-09-16140,919,500depin_first_party
2026-09-17140,942,867depin_first_party
2026-09-18140,967,993depin_first_party
2026-09-19140,990,962depin_first_party
2026-09-20141,012,529depin_first_party
2026-09-21141,035,411depin_first_party
2026-09-22141,058,500depin_first_party
2026-09-23141,080,651depin_first_party
2026-09-24141,098,667depin_first_party
2026-09-25141,113,204depin_first_party
2026-09-26141,128,010depin_first_party
2026-09-27141,141,302depin_first_party
2026-09-28141,165,729depin_first_party
2026-09-29141,189,275depin_first_party
2026-09-30141,213,567depin_first_party
2026-10-01141,234,882depin_first_party
2026-10-02141,257,412depin_first_party
2026-10-03141,278,259depin_first_party
2026-10-04141,298,594depin_first_party
2026-10-05141,319,015depin_first_party
2026-10-06141,340,548depin_first_party
2026-10-07141,361,831depin_first_party
2026-10-08141,382,358depin_first_party
2026-10-09141,400,716depin_first_party
2026-10-10141,415,971depin_first_party
2026-10-11141,434,840depin_first_party
2026-10-12141,459,179depin_first_party
2026-10-13141,483,685depin_first_party
2026-10-14141,508,655depin_first_party
2026-10-15141,532,203depin_first_party
2026-10-16141,556,820depin_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 population or market change, not upstream rewriting history. Publishing them as "revisions" would be exactly the fake-metric behaviour this product exists to eliminate. ROAM's worked example: ONLINE_MINERS moves backward 15 times across 27 snapshots as miners go offline and re-connect, POINTS_BURNED and POINTS_ISSUED are stored as negative-flow accumulations that revalue, BOUND_MINERS dips as miners rebind, and the whole CoinGecko family (price, market cap, rank, 24h window stats, supply, volume) is revalued at every snapshot.

Series (gauge / revaluation)Backward moves observedSnapshot rows held
total_supply4465
ONLINE_MINERS4372
fully_diluted_valuation_usd3465
price_high_24h_usd3459
price_usd3465
market_cap_usd3365
price_low_24h_usd3359
price_from_atl_pct3259
volume_24h_usd2959
POINTS_ISSUED2770
market_cap_rank2759
price_change_30d_pct2459
market_cap_change_24h_pct2059
market_cap_change_24h_usd2059
price_change_24h_pct2059
price_change_24h_usd2059
price_change_14d_pct1759
price_change_7d_pct1759
price_change_1h_pct1659
WIFI_NODES1272

Same-timestamp conflicting values on record for ROAM: 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 ROAM 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 (39 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 overwritten; that retention is the only reason a rewrite is detectable, and it is the part every overwriting vendor discards.

First detectedNetworkMetricWasBecameΔKindProvenance
2026-10-17 01:15:02ARblocks1,982,1761,702,204-14.124%backward_revisiondepin_first_party
2026-10-17 01:15:02ARblocks1,980,1161,702,204-14.035%backward_revisiondepin_first_party
2026-10-17 01:15:02ARblocks1,986,2201,702,204-14.299%backward_revisiondepin_first_party
2026-10-17 01:15:02ARblocks1,988,9301,702,206-14.416%backward_revisiondepin_first_party
2026-10-17 01:15:02GRTdl_fees_alltime_usd1,443,521.441,442,910.44-0.042%backward_revisiondepin_first_party
2026-10-17 01:15:02GRTdl_fees_alltime_usd1,415,0541,414,119-0.066%backward_revisiondepin_first_party
2026-10-17 01:15:02GRTdl_fees_alltime_usd1,419,3221,419,152-0.012%backward_revisiondepin_first_party
2026-10-17 01:15:02GRTdl_fees_alltime_usd1,419,5661,419,322-0.017%backward_revisiondepin_first_party
2026-10-17 01:15:02NODEdl_fees_alltime_usd811,126810,992-0.017%backward_revisiondepin_first_party
2026-10-17 01:15:02NODEdl_fees_alltime_usd811,347810,962-0.047%backward_revisiondepin_first_party
2026-10-17 01:15:02OPENdl_fees_alltime_usd288,385288,055-0.114%backward_revisiondepin_first_party
2026-10-17 01:15:02STORJdisqualified_nodes80,23879,569-0.834%backward_revisiondepin_first_party
2026-10-16 01:15:02ARblocks1,999,7261,702,218-14.877%backward_revisiondepin_first_party
2026-10-16 01:15:02ARblocks2,007,2101,702,218-15.195%backward_revisiondepin_first_party
2026-10-16 01:15:02ARblocks1,992,2991,702,218-14.560%backward_revisiondepin_first_party
2026-10-16 01:15:02ARblocks1,995,6771,702,218-14.705%backward_revisiondepin_first_party
2026-10-16 01:15:02ARblocks2,001,7361,702,218-14.963%backward_revisiondepin_first_party
2026-10-16 01:15:02ATHdl_fees_alltime_usd180,402,699.27180,348,562.27-0.030%backward_revisiondepin_first_party
2026-10-16 01:15:02AUKIdl_fees_alltime_usd253,682251,527-0.849%backward_revisiondepin_first_party
2026-10-16 01:15:02AUKIdl_fees_alltime_usd249,318249,293-0.010%backward_revisiondepin_first_party
2026-10-16 01:15:02AUKIdl_fees_alltime_usd248,389248,364-0.010%backward_revisiondepin_first_party
2026-10-16 01:15:02GRTdl_fees_alltime_usd1,433,230.441,433,068.44-0.011%backward_revisiondepin_first_party
2026-10-16 01:15:02GRTdl_fees_alltime_usd1,424,3161,423,345-0.068%backward_revisiondepin_first_party
2026-10-16 01:15:02GRTdl_fees_alltime_usd1,431,295.441,428,351.44-0.206%backward_revisiondepin_first_party
2026-10-16 01:15:02GRTdl_fees_alltime_usd1,441,313.441,440,661.44-0.045%backward_revisiondepin_first_party
2026-10-16 01:15:02NODEdl_fees_alltime_usd804,574804,388-0.023%backward_revisiondepin_first_party
2026-10-16 01:15:02OPENdl_fees_alltime_usd272,079271,588-0.180%backward_revisiondepin_first_party
2026-09-05 01:15:02AUKItoken_transfers_total1,230,1671,228,860-0.106%backward_revisionevm_blockscout · origin ↗
2026-09-05 01:15:02EIGENfees_alltime_usd161,955,683.53161,932,203.53-0.014%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-05 01:15:02GRTfees_alltime_usd1,419,3281,419,152-0.012%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-05 01:15:02GRTfees_alltime_usd1,419,5581,419,328-0.016%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-05 01:15:02GRTfees_alltime_usd1,424,3021,423,345-0.067%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-05 01:15:02NODEfees_alltime_usd804,574804,388-0.023%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-05 01:15:02OBOTtoken_transfers_total40,25340,246-0.017%backward_revisionevm_blockscout · origin ↗
2026-09-05 01:15:02OVPPtoken_transfers_total1,356,7491,354,903-0.136%backward_revisionevm_blockscout · origin ↗
2026-09-05 01:15:02R1token_transfers_total194,634194,527-0.055%backward_revisionevm_blockscout · origin ↗
2026-09-05 01:15:02R1token_transfers_total194,390194,337-0.027%backward_revisionevm_blockscout · origin ↗
2026-09-05 01:15:02SOGNItoken_transfers_total1,177,2191,174,145-0.261%backward_revisionevm_blockscout · 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 overwritten. Population gauges (provider sets, node counts, prices, capacity) legitimately move both ways and are deliberately excluded — a drop there is a real population change, not a rewrite; the gauge table on this page is 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.

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 weRoam first-party endpoint the network-side rows came from; 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 ROAM — the same rows this page queried, live:
curl -s "https://kairossignal.com/v1/revisions?symbol=ROAM" | 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) weRoam first-party explorer stats (members / wifi / miners / checks / points):
curl -s -H "User-Agent: kairos-check" "https://api.weroam.xyz/v1/explorer/stat/total/num" | python3 -m json.tool
# 4) This estate's public API row for ROAM (grades + provenance):
curl -s "https://kairossignal.com/v1/network/ROAM" | 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"
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/ROAM.

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_roam.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. The ROAM revision count is the live result of SELECT count() FROM default.depin_revision_ledger WHERE network='ROAM'; the page refuses to ship if the served /v1/revisions?symbol=ROAM disagrees with it. The 39 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 daily-snapshot ledger for ROAM is genuinely empty today — because every watched counter the archive holds proved monotonic under the detector's diff, a measured negative published as found, with the full trails rendered above — and this page says so instead of inventing restatements. The same-stamp conflict check is likewise the honest live answer: 0 groups in depin_onchain and 0 in depin_daily. Upstream probes ran serially by this generator immediately before rendering: api.weroam.xyz /v1/explorer/stat/total/num (the weRoam first-party explorer-stats upstream: members, WiFi nodes, miners, checks, points) HTTP 200; CoinGecko ROAM Token page (browser-verified origin; 403 here is its bot wall) HTTP 403; estate /v1/revisions?symbol=ROAM HTTP 200; estate /v1/network/ROAM HTTP 200.

Machine-generated 2026-10-17T05:44:39Z by propintel/gen_revision_page_roam.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.