DIMO (DIMO) — the revision ledger

Generated 2026-10-17T05:16:02Z from live ClickHouse queries against this estate's ledger. Point-in-time archive held for DIMO: 39,787 observations · 63 distinct series · 5 upstream sources · first row 2026-08-09 17:15:20 · newest row 2026-10-17 04:54:01 · every one of the 39,787 rows carries a verify_url · 58 series refreshed in the last 24h (906 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 DIMO view of that product: the live ledger for DIMO — 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 DIMO's archive comes from

5 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. DIMO (the catalog name here is DIMO, category mobility, chains ethereum, iotex and polygon-pos) publishes its own identity GraphQL API and this estate polls it directly (first_party_api — the aftermarket-device and vehicle counts); the rest of the network-side series come from this estate's own daily first-party rollup (depin_first_party), Ethereum Blockscout chain reads against the DIMO token contract (evm_blockscout), and the estate's github collector (DIMO-Network/data-sdk repository activity), with CoinGecko's market series alongside.

SourceRows heldSeriesRows w/ verify_urlWindow (UTC)Sample origin
CoinGecko /coins/markets31,1702431,1702026-08-09 17:15:20 → 2026-10-17 04:50:53sample origin ↗
first_party_api7,259177,2592026-08-09 23:53:15 → 2026-10-17 04:54:01sample origin ↗
geckoterminal_dex62376232026-09-25 00:42:58 → 2026-10-17 00:45:30sample origin ↗
github38593852026-08-09 23:47:26 → 2026-10-17 00:29:02sample origin ↗
evm_blockscout35063502026-08-09 23:27:47 → 2026-10-17 00:37:01sample origin ↗

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

The ledger query ran during generation and returned 0 rows for DIMO. Zero here is the live query result, not a gap — the ledger itself is at /v1/revisions?symbol=DIMO (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=DIMO cross-check passed: the served API reports 0 row(s), matching the ledger count rendered on this page.

Why zero is the interesting answer. The detector does not skip DIMO — below, the live intersection shows the 0 cumulative-by-construction series the archive holds for this network, each fully diffed across its whole snapshot window (where it has more than one observation), and each rendered here end to end so the monotone runs are visible raw. Nothing moved backward. That is the structural zero: the detector was watching, the counters were fully exposed to it, and upstream did not rewrite history for this network in the window this estate holds. Publishing an empty ledger as a live query result — instead of padding it with gauge noise — is the same retention discipline the ledger exists to sell.

What the detector watches for DIMO — 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 DIMO. All three watched series here are Blockscout contract counters for the DIMO token address on Ethereum mainnet.

Live query result: 0 watchlist series held for DIMO. 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 DIMO's daily archive. This is the structural zero behind the ledger count above, published as the query found it.

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

These are the actual counter trails the detector diffed for DIMO, rendered live from the archive. Each is a series that cannot decrease unless upstream rewrote history — and each is monotonic across its entire held window, which is exactly why the ledger above is empty. The raw runs are the evidence; the reader does not have to trust the summary.

contract_gas_used_total — total gas used by calls to the DIMO token contract, captured by the estate's Blockscout collector across all 51 snapshot days:

Snapshot dateContract gas used (total)Source
2026-08-231,216,788,055evm_blockscout
2026-08-241,217,474,611evm_blockscout
2026-08-251,217,734,074evm_blockscout
2026-08-261,218,349,486evm_blockscout
2026-08-271,218,545,846evm_blockscout
2026-08-281,219,048,421evm_blockscout
2026-08-291,220,042,241evm_blockscout
2026-08-301,220,187,798evm_blockscout
2026-08-311,220,620,135evm_blockscout
2026-09-011,220,962,465evm_blockscout
2026-09-021,221,539,598evm_blockscout
2026-09-031,221,602,713evm_blockscout
2026-09-041,221,960,293evm_blockscout
2026-09-051,222,554,318evm_blockscout
2026-09-061,223,481,132evm_blockscout
2026-09-071,224,175,889evm_blockscout
2026-09-081,224,768,332evm_blockscout
2026-09-091,225,220,698evm_blockscout
2026-09-101,226,290,974evm_blockscout
2026-09-111,226,851,163evm_blockscout
2026-09-121,227,720,306evm_blockscout
2026-09-131,227,834,925evm_blockscout
2026-09-151,228,536,583evm_blockscout
2026-09-161,228,928,315evm_blockscout
2026-09-171,228,928,315evm_blockscout
2026-09-201,230,579,932evm_blockscout
2026-09-211,231,113,882evm_blockscout
2026-09-221,232,301,140evm_blockscout
2026-09-231,232,492,688evm_blockscout
2026-09-241,232,492,688evm_blockscout
2026-09-261,235,108,083evm_blockscout
2026-09-271,237,101,807evm_blockscout
2026-09-281,237,836,845evm_blockscout
2026-09-291,237,836,845evm_blockscout
2026-09-301,238,252,531evm_blockscout
2026-10-011,245,710,696evm_blockscout
2026-10-021,245,751,911evm_blockscout
2026-10-031,246,406,830evm_blockscout
2026-10-041,254,779,578evm_blockscout
2026-10-051,258,445,932evm_blockscout
2026-10-061,258,404,705evm_blockscout
2026-10-071,272,812,665evm_blockscout
2026-10-081,272,812,665evm_blockscout
2026-10-091,272,812,665evm_blockscout
2026-10-101,272,812,665evm_blockscout
2026-10-111,287,595,926evm_blockscout
2026-10-121,287,595,926evm_blockscout
2026-10-131,307,088,532evm_blockscout
2026-10-141,307,088,532evm_blockscout
2026-10-151,309,732,776evm_blockscout
2026-10-161,313,394,582evm_blockscout

contract_transactions_total — the count of transactions against the DIMO token contract, same Blockscout origin — 51 snapshot days:

Snapshot dateContract transactions (total)Source
2026-08-2324,088evm_blockscout
2026-08-2424,102evm_blockscout
2026-08-2524,107evm_blockscout
2026-08-2624,119evm_blockscout
2026-08-2724,123evm_blockscout
2026-08-2824,133evm_blockscout
2026-08-2924,153evm_blockscout
2026-08-3024,156evm_blockscout
2026-08-3124,164evm_blockscout
2026-09-0124,171evm_blockscout
2026-09-0224,183evm_blockscout
2026-09-0324,184evm_blockscout
2026-09-0424,191evm_blockscout
2026-09-0524,203evm_blockscout
2026-09-0624,222evm_blockscout
2026-09-0724,236evm_blockscout
2026-09-0824,247evm_blockscout
2026-09-0924,256evm_blockscout
2026-09-1024,277evm_blockscout
2026-09-1124,288evm_blockscout
2026-09-1224,306evm_blockscout
2026-09-1324,308evm_blockscout
2026-09-1524,323evm_blockscout
2026-09-1624,331evm_blockscout
2026-09-1724,331evm_blockscout
2026-09-2024,354evm_blockscout
2026-09-2124,364evm_blockscout
2026-09-2224,387evm_blockscout
2026-09-2324,391evm_blockscout
2026-09-2424,391evm_blockscout
2026-09-2624,444evm_blockscout
2026-09-2724,489evm_blockscout
2026-09-2824,504evm_blockscout
2026-09-2924,504evm_blockscout
2026-09-3024,512evm_blockscout
2026-10-0124,662evm_blockscout
2026-10-0224,663evm_blockscout
2026-10-0324,676evm_blockscout
2026-10-0424,846evm_blockscout
2026-10-0524,922evm_blockscout
2026-10-0624,921evm_blockscout
2026-10-0725,217evm_blockscout
2026-10-0825,217evm_blockscout
2026-10-0925,217evm_blockscout
2026-10-1025,217evm_blockscout
2026-10-1125,521evm_blockscout
2026-10-1225,521evm_blockscout
2026-10-1325,920evm_blockscout
2026-10-1425,920evm_blockscout
2026-10-1525,976evm_blockscout
2026-10-1626,051evm_blockscout

token_transfers_total — the token transfer counter for the DIMO contract — 54 snapshot days:

Snapshot dateToken transfers (total)Source
2026-08-2267,765evm_blockscout
2026-08-2367,797evm_blockscout
2026-08-2467,810evm_blockscout
2026-08-2567,831evm_blockscout
2026-08-2667,896evm_blockscout
2026-08-2767,926evm_blockscout
2026-08-2867,958evm_blockscout
2026-08-2967,978evm_blockscout
2026-08-3068,017evm_blockscout
2026-08-3168,047evm_blockscout
2026-09-0168,085evm_blockscout
2026-09-0368,093evm_blockscout
2026-09-0468,122evm_blockscout
2026-09-0568,176evm_blockscout
2026-09-0668,243evm_blockscout
2026-09-0768,299evm_blockscout
2026-09-0868,333evm_blockscout
2026-09-0968,413evm_blockscout
2026-09-1068,483evm_blockscout
2026-09-1168,581evm_blockscout
2026-09-1268,620evm_blockscout
2026-09-1368,656evm_blockscout
2026-09-1468,690evm_blockscout
2026-09-1568,727evm_blockscout
2026-09-1668,745evm_blockscout
2026-09-1768,759evm_blockscout
2026-09-1868,803evm_blockscout
2026-09-1968,823evm_blockscout
2026-09-2068,825evm_blockscout
2026-09-2168,825evm_blockscout
2026-09-2269,037evm_blockscout
2026-09-2369,142evm_blockscout
2026-09-2469,195evm_blockscout
2026-09-2569,254evm_blockscout
2026-09-2669,281evm_blockscout
2026-09-2769,281evm_blockscout
2026-09-2869,309evm_blockscout
2026-09-3069,632evm_blockscout
2026-10-0169,740evm_blockscout
2026-10-0270,129evm_blockscout
2026-10-0370,169evm_blockscout
2026-10-0470,612evm_blockscout
2026-10-0570,942evm_blockscout
2026-10-0671,427evm_blockscout
2026-10-0771,427evm_blockscout
2026-10-0871,427evm_blockscout
2026-10-0971,440evm_blockscout
2026-10-1072,940evm_blockscout
2026-10-1173,143evm_blockscout
2026-10-1273,338evm_blockscout
2026-10-1373,457evm_blockscout
2026-10-1473,486evm_blockscout
2026-10-1573,759evm_blockscout
2026-10-1673,962evm_blockscout

Cross-source agreement — the DIMO holder count, two pipelines

DIMO's holder count is captured from two independent directions: this estate's first-party daily rollup (HOLDERS, sourced from the network's own identity API) and the Blockscout chain read (holders_count, counted on Ethereum from the token contract). On the 65 snapshot days both hold a value, they are checked live. These are population gauges — holders come and go — so agreement means exact equality or a delta within 0.2% (same-day asynchrony: the two collectors snapshot at different hours and the fleet drifts between them). Every delta is shown, nothing hidden: 65 agreeing days, 0 divergent.

Snapshot dateFirst-party valueBlockscout valueΔVerdict
2026-08-098,5378,5370agree
2026-08-108,5428,5411agree
2026-08-128,5468,5415agree
2026-08-138,5468,5451agree
2026-08-148,5478,5461agree
2026-08-158,5498,5490agree
2026-08-168,5488,5491agree
2026-08-178,5498,5463agree
2026-08-188,5508,5500agree
2026-08-198,5498,5501agree
2026-08-208,5518,5501agree
2026-08-218,5568,5524agree
2026-08-228,5608,5582agree
2026-08-238,5658,5641agree
2026-08-248,5668,5660agree
2026-08-258,5648,5640agree
2026-08-268,5708,5700agree
2026-08-278,5708,5700agree
2026-08-288,5708,5711agree
2026-08-298,5718,5710agree
2026-08-308,5778,5770agree
2026-08-318,5788,5780agree
2026-09-018,5848,5840agree
2026-09-038,5858,5850agree
2026-09-048,5868,5833agree
2026-09-058,5888,5871agree
2026-09-068,5938,5876agree
2026-09-078,5938,5921agree
2026-09-088,5958,5923agree
2026-09-098,6028,5993agree
2026-09-108,6018,6021agree
2026-09-118,6048,6022agree
2026-09-128,6068,6042agree
2026-09-138,6058,6041agree
2026-09-148,6048,6051agree
2026-09-158,6138,6094agree
2026-09-168,6148,6151agree
2026-09-178,6148,6140agree
2026-09-188,6178,6170agree
2026-09-198,6238,6185agree
2026-09-208,6258,6241agree
2026-09-218,6268,6260agree
2026-09-228,6288,6271agree
2026-09-238,6288,6280agree
2026-09-248,6138,6121agree
2026-09-258,6068,6060agree
2026-09-268,6088,6080agree
2026-09-278,6148,6131agree
2026-09-288,6118,6110agree
2026-09-308,6138,6121agree
2026-10-018,6188,6126agree
2026-10-028,6258,6196agree
2026-10-038,6368,62313agree
2026-10-048,6418,6383agree
2026-10-058,6618,6621agree
2026-10-068,6698,6645agree
2026-10-078,6688,6724agree
2026-10-088,6828,6784agree
2026-10-098,6868,6860agree
2026-10-108,6928,6884agree
2026-10-118,6958,6950agree
2026-10-128,7008,6982agree
2026-10-138,7018,7010agree
2026-10-148,7088,7080agree
2026-10-158,7108,7100agree

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 DIMO the vehicle and device populations themselves are in this table — VEHICLES fell 158,616 → 158,613 across the 2026-08-27 → 2026-08-28 snapshots, and SYNTHETIC_DEVICES oscillates around its trend — a vehicle can be de-registered or a synthetic device purged on a given day; that is fleet churn, not a rewrite. Publishing them as "revisions" would be exactly the fake-metric behaviour this product exists to eliminate.

Series (gauge / population)Backward moves observedSnapshot rows held
top_holder_balance4156
VELOCITY3872
PRICE3572
SYNTHETIC_DEVICES3169
price_usd3164
fully_diluted_valuation_usd3064
market_cap_usd3064
price_high_24h_usd2958
price_change_14d_pct2758
price_from_atl_pct2758
volume_24h_usd2758
market_cap_rank2658
price_change_30d_pct2458
price_change_7d_pct2458

Same-timestamp conflicting values on record for DIMO: 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 DIMO 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,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: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:02GRTdl_fees_alltime_usd1,415,0541,414,119-0.066%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,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,347810,962-0.047%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: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,995,6771,702,218-14.705%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:02ARblocks2,001,7361,702,218-14.963%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: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,441,313.441,440,661.44-0.045%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,433,230.441,433,068.44-0.011%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,424,3021,423,345-0.067%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: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,390194,337-0.027%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: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, rolling windows) legitimately move both ways and are deliberately excluded — a drop there is a real 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.

The snapshot archive the detection runs over

DIMO's slice of depin_daily: 2,603 rows over 72 snapshot days (2026-08-06 → 2026-10-16), from 5 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); commands 3–4 hit the Blockscout upstream family the watched counter rows came from; command 5 is DIMO's own identity API; command 6 is the GitHub repository feed; command 7 is the CoinGecko origin page; command 8 is the estate's graded network row; command 9 is the frozen daily snapshot of the ledger. One polite call per endpoint, no hammering.

# 1) The served revision feed for DIMO — the same rows this page queried, live:
curl -s "https://kairossignal.com/v1/revisions?symbol=DIMO" | 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) Blockscout counters for the DIMO token contract (the watched-counter origin):
curl -s -H "User-Agent: kairos-check" "https://eth.blockscout.com/api/v2/addresses/0x5fab9761d60419c9eeebe3915a8fa1ed7e8d2e1b/counters" | python3 -m json.tool | head -30
# 4) Blockscout token endpoint (the holders/supply origin):
curl -s -H "User-Agent: kairos-check" "https://eth.blockscout.com/api/v2/tokens/0x5fab9761d60419c9eeebe3915a8fa1ed7e8d2e1b" | python3 -m json.tool | head -30
# 5) DIMO's own identity API (the first_party_api origin):
curl -s -H "User-Agent: kairos-check" "https://identity-api.dimo.zone/query?query=%7BaftermarketDevices%28first%3A1%29%7BtotalCount%7D%7D" | python3 -m json.tool | head -20
# 6) GitHub repository activity for DIMO-Network/data-sdk (the dev-velocity source family):
curl -s -H "User-Agent: kairos-check" "https://api.github.com/repos/DIMO-Network/data-sdk" | python3 -m json.tool | head -20
# 7) CoinGecko DIMO page (the market-series origin; browser-verified, bot-walled to curl):
curl -s -o /dev/null -w "%{http_code}\n" "https://www.coingecko.com/en/coins/dimo"
# 8) This estate's public API row for DIMO (grades + provenance):
curl -s "https://kairossignal.com/v1/network/DIMO" | python3 -m json.tool | head -60
# 9) 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/DIMO.

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_dimo.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. The DIMO revision count is the live result of SELECT count() FROM default.depin_revision_ledger WHERE network='DIMO'; the page refuses to ship if the served /v1/revisions?symbol=DIMO is reachable and disagrees with it (at generation the estate API was reachable and the cross-check passed). 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 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: CoinGecko DIMO page (browser-verified origin; 403 here is its bot wall) HTTP 403; Blockscout token endpoint for the DIMO contract (the evm_blockscout origin) HTTP 200; Blockscout address counters for the DIMO contract (the counter-trail origin) HTTP 200; GitHub API for DIMO-Network/data-sdk (the dev-activity source family) HTTP 200; DIMO identity API (the first_party_api origin) HTTP 200; estate /v1/revisions?symbol=DIMO HTTP 200; estate /v1/network/DIMO HTTP 200.

Machine-generated 2026-10-17T05:16:02Z by propintel/gen_revision_page_dimo.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.