On 2026-09-01 our detector recorded Arweave's network
blocks count for 2026-08-14 as 1,980,116.
Days later, the same upstream API answered 1,702,204
for that same already-observed date — a
-14.4% backward revision,
published by the source itself, with no announcement, no changelog, and — at
every other data vendor — no trace. They overwrite the number and move on.
Downstream models keep consuming whichever value they happened to cache, and
nobody tells them the ground truth moved under them.
Upstream swung between ~1.98M and a stale ~1.70M height four times over
three weeks. Each row is one detected transition; the first-detection stamp
never moves, and revision_id is a deterministic hash of the
revision identity, so a subscriber can de-duplicate replays safely.
| observed (as-of) | value then | restated on | value now in history | Δ | revision_id |
|---|---|---|---|---|---|
| 2026-08-23 | 1,986,220 | 2026-08-24 | 1,702,204 | -14.30% | ad1087008a73fabb |
| 2026-08-14 | 1,980,116 | 2026-08-15 | 1,702,204 | -14.04% | 5bfb29b8f5641485 |
| 2026-08-27 | 1,988,930 | 2026-08-28 | 1,702,206 | -14.42% | f1590d6efb3eead6 |
| 2026-08-17 | 1,982,176 | 2026-08-18 | 1,702,204 | -14.12% | ece85ecbd2ee3c4c |
The current upstream value (a live height, always advancing):
curl -s https://arweave.net/info | python3 -c "import json,sys; print(json.load(sys.stdin)['height'])"
The value upstream published for 2026-08-14 after the rewrite is visible in our own daily archive:
curl -s "http://100.65.160.3:8123/?query=SELECT+value+FROM+depin_daily+WHERE+network='AR'+AND+metric='BLOCKS'+AND+snapshot_date='2026-08-14'" -d ''
Every ledger row carries a verify_url — the exact upstream
endpoint each series came from — so a buyer never has to take the diff on
faith. Query the full ledger:
curl -s "https://kairossignal.com/v1/revisions?symbol=AR"
15 restatements over the archive we hold (14 backward revisions
of cumulative metrics + 1 sub-noise case), across GRT, STORJ, SOGNI, AUKI, R1
and EIGEN — including an all-time fees counter that moved backwards by 23,480
and three token-transfer counters that did the same. Detection is mechanical;
the full queryable feed is
/v1/revisions, and you can subscribe to
restatements per symbol via POST /v1/alerts/subscribe
(revision_restate, webhook).
| detected (UTC) | network | metric | was | became | Δ% | kind |
|---|---|---|---|---|---|---|
| 2026-08-13 15:35 | FLOCK | DL_FEES_ALLTIME_USD | 1,170,614.60 | 1,170,544.16 | -0.006% | sub_noise |
| 2026-09-01 23:33 | GRT | DL_FEES_ALLTIME_USD | 1,419,322 | 1,419,152 | -0.012% | backward_revision |
| 2026-09-01 23:33 | GRT | DL_FEES_ALLTIME_USD | 1,415,054 | 1,414,119 | -0.066% | backward_revision |
| 2026-09-01 23:33 | AR | BLOCKS | 1,986,220 | 1,702,204 | -14.299% | backward_revision |
| 2026-09-01 23:33 | EIGEN | fees_alltime_usd | 161,955,683.53 | 161,932,203.53 | -0.014% | backward_revision |
| 2026-09-01 23:33 | AR | BLOCKS | 1,980,116 | 1,702,204 | -14.035% | backward_revision |
| 2026-09-01 23:33 | R1 | token_transfers_total | 194,390 | 194,337 | -0.027% | backward_revision |
| 2026-09-01 23:33 | GRT | DL_FEES_ALLTIME_USD | 1,419,566 | 1,419,322 | -0.017% | backward_revision |
| 2026-09-01 23:33 | STORJ | DISQUALIFIED_NODES | 80,238 | 79,569 | -0.834% | backward_revision |
| 2026-09-01 23:33 | GRT | fees_alltime_usd | 1,419,328 | 1,419,152 | -0.012% | backward_revision |
| 2026-09-01 23:33 | GRT | fees_alltime_usd | 1,419,558 | 1,419,328 | -0.016% | backward_revision |
| 2026-09-01 23:33 | AUKI | token_transfers_total | 1,230,167 | 1,228,860 | -0.106% | backward_revision |
| 2026-09-01 23:33 | AR | BLOCKS | 1,988,930 | 1,702,206 | -14.416% | backward_revision |
| 2026-09-01 23:33 | AR | BLOCKS | 1,982,176 | 1,702,204 | -14.124% | backward_revision |
| 2026-09-01 23:33 | SOGNI | token_transfers_total | 1,177,219 | 1,174,145 | -0.261% | backward_revision |
If a fund's model consumed the pre-restatement Arweave number, it was wrong for days and had no way to know: the vendor it bought from had already overwritten. A risk team needs the reverse question answered too — did any vendor history move under me, and when? That record does not exist anywhere else, because recording the before-value has negative value to a vendor whose pitch is a clean, stable history. We publish the before, the after, both stamps, and the URL to check the current upstream value yourself.