Generated 2026-10-17T05:25:20Z from live ClickHouse queries against this estate's ledger. Point-in-time archive held for Helium: 36,079 observations · 46 distinct series · 5 upstream sources · first row 2026-08-09 17:15:20 · newest row 2026-10-17 04:51:55 · every one of the 36,079 rows carries a verify_url · 46 series refreshed in the last 24h (677 fresh rows). Nothing on this page is cached, estimated, or remembered.
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. The first-party family is Helium's own entities service (https://entities.nft.helium.io/v2/hotspots/pagination-metadata?subnetwork=iot and the MOBILE sibling) — telemetry from the network itself — with the DefiLlama fees family (its 24h/7d/30d/1y/all-time fee and 24h/30d revenue windows are withdrawn from 2026-08-09T17:17:15Z on — quality incident defillama_hnt_buyback_as_fees_20260925), the Solana SPL-mint chain state, the CoinGecko market reference and the helium GitHub activity series alongside.
| Source | Rows held | Series | Rows w/ verify_url | Window (UTC) | Sample origin |
|---|---|---|---|---|---|
| CoinGecko /coins/markets | 31,146 | 24 | 31,146 | 2026-08-09 17:15:20 → 2026-10-17 04:51:55 | sample origin ↗ |
| first_party_api | 3,262 | 2 | 3,262 | 2026-08-09 23:28:06 → 2026-10-17 04:34:01 | sample origin ↗ |
| solana_rpc | 661 | 4 | 661 | 2026-08-09 23:12:54 → 2026-10-17 00:00:01 | sample origin ↗ |
| geckoterminal_dex | 630 | 7 | 630 | 2026-09-25 00:48:41 → 2026-10-17 00:55:16 | sample origin ↗ |
| github | 380 | 9 | 380 | 2026-08-09 23:42:07 → 2026-10-17 00:29:02 | sample origin ↗ |
The ledger query ran during generation and returned 0 rows for HNT — and for Helium the structural reason is on this page, measured live: the detector only files cumulative-by-construction series (counters that cannot decrease unless upstream rewrote them), and the daily archive this estate holds for HNT — 2170 rows over 72 snapshots (2026-08-06 → 2026-10-16) — contains 0 series of that class once withdrawn rows are excluded. DefiLlama's fees_alltime_usd, which earlier versions of this page named as the one watched series, is withdrawn (2026-09-25, quality incident defillama_hnt_buyback_as_fees_20260925): it is not Helium fees: api.llama.fi/summary/fees/helium-network measures only Helium Mobile's open-market HNT buyback, its adapter returns 0 by code for every day after 2026-01-02 without querying anything, and the same response's methodology and warning banner say Data Credit burns for network usage are deliberately excluded, so its all-time total no longer changes. With no watched series held, there is nothing for the detector to diff. Zero here is the live query result plus the structural reason, not a gap — the ledger itself is at /v1/revisions?symbol=HNT (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=HNT cross-check passed: the served API reports 0 row(s), matching the ledger count rendered on this page.
The detector diffs every daily snapshot of every cumulative-by-construction series. The live watchlist below is imported at generation from the detector itself (propintel/revision_ledger.py (live import)). Its intersection with what the daily archive holds for HNT is the table, measured after the quality-incident filter. DefiLlama's fees_alltime_usd, the one watched series earlier versions of this page showed here, is withdrawn (quality incident defillama_hnt_buyback_as_fees_20260925, see below), so its flatness is no longer offered as the reason for the zero.
Live query result: 0 watchlist series held for HNT. The intersection query ran during generation and returned an empty set — none of the 11 declared-cumulative metric families the detector watches appear in HNT's daily archive. This is the structural zero behind the ledger count above, published as the query found it.
fees_alltime_usd withdrawn (2026-09-25). Every HNT snapshot of it from 2026-08-09T17:17:15Z on is no longer published (quality incident defillama_hnt_buyback_as_fees_20260925): it is not Helium fees: api.llama.fi/summary/fees/helium-network measures only Helium Mobile's open-market HNT buyback, its adapter returns 0 by code for every day after 2026-01-02 without querying anything, and the same response's methodology and warning banner say Data Credit burns for network usage are deliberately excluded, so its all-time total no longer changes. An earlier version of this page presented its flatness as the structural reason the ledger is empty; that flatness is the adapter's code, not a measurement of Helium.These series fall outside the detector's cumulative-by-construction class (NOT_TRULY_CUMULATIVE 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.
| Series (gauge / revaluation) | Backward moves observed | Snapshot rows held |
|---|---|---|
PRICE | 42 | 72 |
VELOCITY | 40 | 72 |
price_usd | 36 | 64 |
price_high_24h_usd | 35 | 58 |
fully_diluted_valuation_usd | 34 | 64 |
market_cap_usd | 34 | 64 |
price_from_atl_pct | 32 | 58 |
volume_24h_usd | 31 | 58 |
price_low_24h_usd | 27 | 58 |
price_change_30d_pct | 25 | 58 |
onchain_top1_holder_pct | 24 | 31 |
market_cap_rank | 23 | 58 |
price_change_14d_pct | 22 | 58 |
price_change_7d_pct | 20 | 58 |
The sharpest HNT case: IOT_HOTSPOTS — the LoRaWAN hotspot population from Helium's own entities API. Note what the trail shows: in this 27-day window it only ever grew. A detector that classified by measured monotonicity would admit it as cumulative; this estate's detector classifies by construction — hotspots can go offline, so a drop would be a real population change, not a rewrite. Trending gauges are exactly the case that fools naive monotonicity checks, which is why the exclusion list is explicit.
| Snapshot date | IOT_HOTSPOTS value | Source |
|---|---|---|
| 2026-08-06 | 1,035,564 | depin_first_party |
| 2026-08-07 | 1,035,571 | depin_first_party |
| 2026-08-08 | 1,035,572 | depin_first_party |
| 2026-08-09 | 1,035,575 | depin_first_party |
| 2026-08-10 | 1,035,576 | depin_first_party |
| 2026-08-11 | 1,035,577 | depin_first_party |
| 2026-08-12 | 1,035,579 | depin_first_party |
| 2026-08-13 | 1,035,580 | depin_first_party |
| 2026-08-14 | 1,035,582 | depin_first_party |
| 2026-08-15 | 1,035,584 | depin_first_party |
| 2026-08-16 | 1,035,586 | depin_first_party |
| 2026-08-17 | 1,035,590 | depin_first_party |
| 2026-08-18 | 1,035,592 | depin_first_party |
| 2026-08-19 | 1,035,594 | depin_first_party |
| 2026-08-20 | 1,035,594 | depin_first_party |
| 2026-08-21 | 1,035,596 | depin_first_party |
| 2026-08-22 | 1,035,598 | depin_first_party |
| 2026-08-23 | 1,035,598 | depin_first_party |
| 2026-08-24 | 1,035,598 | depin_first_party |
| 2026-08-25 | 1,035,599 | depin_first_party |
| 2026-08-26 | 1,035,600 | depin_first_party |
| 2026-08-27 | 1,035,603 | depin_first_party |
| 2026-08-28 | 1,035,603 | depin_first_party |
| 2026-08-29 | 1,035,605 | depin_first_party |
| 2026-08-30 | 1,035,607 | depin_first_party |
| 2026-08-31 | 1,035,609 | depin_first_party |
| 2026-09-01 | 1,035,619 | depin_first_party |
| 2026-09-02 | 1,035,626 | depin_first_party |
| 2026-09-03 | 1,035,633 | depin_first_party |
| 2026-09-04 | 1,035,635 | depin_first_party |
| 2026-09-05 | 1,035,636 | depin_first_party |
| 2026-09-06 | 1,035,637 | depin_first_party |
| 2026-09-07 | 1,035,637 | depin_first_party |
| 2026-09-08 | 1,035,638 | depin_first_party |
| 2026-09-09 | 1,035,645 | depin_first_party |
| 2026-09-10 | 1,035,654 | depin_first_party |
| 2026-09-11 | 1,035,658 | depin_first_party |
| 2026-09-12 | 1,035,659 | depin_first_party |
| 2026-09-13 | 1,035,662 | depin_first_party |
| 2026-09-14 | 1,035,663 | depin_first_party |
| 2026-09-15 | 1,035,664 | depin_first_party |
| 2026-09-16 | 1,035,665 | depin_first_party |
| 2026-09-17 | 1,035,666 | depin_first_party |
| 2026-09-18 | 1,035,668 | depin_first_party |
| 2026-09-19 | 1,035,668 | depin_first_party |
| 2026-09-20 | 1,035,670 | depin_first_party |
| 2026-09-21 | 1,035,671 | depin_first_party |
| 2026-09-22 | 1,035,675 | depin_first_party |
| 2026-09-23 | 1,035,679 | depin_first_party |
| 2026-09-24 | 1,035,681 | depin_first_party |
| 2026-09-25 | 1,035,683 | depin_first_party |
| 2026-09-26 | 1,035,686 | depin_first_party |
| 2026-09-27 | 1,035,694 | depin_first_party |
| 2026-09-28 | 1,035,695 | depin_first_party |
| 2026-09-29 | 1,035,699 | depin_first_party |
| 2026-09-30 | 1,035,700 | depin_first_party |
| 2026-10-01 | 1,035,700 | depin_first_party |
| 2026-10-02 | 1,035,701 | depin_first_party |
| 2026-10-03 | 1,035,701 | depin_first_party |
| 2026-10-04 | 1,035,701 | depin_first_party |
| 2026-10-05 | 1,035,705 | depin_first_party |
| 2026-10-06 | 1,035,709 | depin_first_party |
| 2026-10-07 | 1,035,711 | depin_first_party |
| 2026-10-08 | 1,035,712 | depin_first_party |
| 2026-10-09 | 1,035,714 | depin_first_party |
| 2026-10-10 | 1,035,717 | depin_first_party |
| 2026-10-11 | 1,035,718 | depin_first_party |
| 2026-10-12 | 1,035,718 | depin_first_party |
| 2026-10-13 | 1,035,719 | depin_first_party |
| 2026-10-14 | 1,035,724 | depin_first_party |
| 2026-10-15 | 1,035,724 | depin_first_party |
| 2026-10-16 | 1,035,726 | depin_first_party |
The 5G-side sibling, MOBILE_HOTSPOTS, from the same first-party service — same classification, same reasoning.
| Snapshot date | MOBILE_HOTSPOTS value | Source |
|---|---|---|
| 2026-08-06 | 56,807 | depin_first_party |
| 2026-08-07 | 56,810 | depin_first_party |
| 2026-08-08 | 56,812 | depin_first_party |
| 2026-08-09 | 56,812 | depin_first_party |
| 2026-08-10 | 56,812 | depin_first_party |
| 2026-08-11 | 56,814 | depin_first_party |
| 2026-08-12 | 56,815 | depin_first_party |
| 2026-08-13 | 56,815 | depin_first_party |
| 2026-08-14 | 56,816 | depin_first_party |
| 2026-08-15 | 56,816 | depin_first_party |
| 2026-08-16 | 56,817 | depin_first_party |
| 2026-08-17 | 56,817 | depin_first_party |
| 2026-08-18 | 56,867 | depin_first_party |
| 2026-08-19 | 56,868 | depin_first_party |
| 2026-08-20 | 56,885 | depin_first_party |
| 2026-08-21 | 56,885 | depin_first_party |
| 2026-08-22 | 56,885 | depin_first_party |
| 2026-08-23 | 56,885 | depin_first_party |
| 2026-08-24 | 57,444 | depin_first_party |
| 2026-08-25 | 57,452 | depin_first_party |
| 2026-08-26 | 57,452 | depin_first_party |
| 2026-08-27 | 57,453 | depin_first_party |
| 2026-08-28 | 57,455 | depin_first_party |
| 2026-08-29 | 57,493 | depin_first_party |
| 2026-08-30 | 57,493 | depin_first_party |
| 2026-08-31 | 57,493 | depin_first_party |
| 2026-09-01 | 57,493 | depin_first_party |
| 2026-09-02 | 57,493 | depin_first_party |
| 2026-09-03 | 57,494 | depin_first_party |
| 2026-09-04 | 57,496 | depin_first_party |
| 2026-09-05 | 57,496 | depin_first_party |
| 2026-09-06 | 57,497 | depin_first_party |
| 2026-09-07 | 57,497 | depin_first_party |
| 2026-09-08 | 57,498 | depin_first_party |
| 2026-09-09 | 57,534 | depin_first_party |
| 2026-09-10 | 57,545 | depin_first_party |
| 2026-09-11 | 57,546 | depin_first_party |
| 2026-09-12 | 57,904 | depin_first_party |
| 2026-09-13 | 57,906 | depin_first_party |
| 2026-09-14 | 57,909 | depin_first_party |
| 2026-09-15 | 57,910 | depin_first_party |
| 2026-09-16 | 57,911 | depin_first_party |
| 2026-09-17 | 58,009 | depin_first_party |
| 2026-09-18 | 58,011 | depin_first_party |
| 2026-09-19 | 58,012 | depin_first_party |
| 2026-09-20 | 58,012 | depin_first_party |
| 2026-09-21 | 58,012 | depin_first_party |
| 2026-09-22 | 58,021 | depin_first_party |
| 2026-09-23 | 58,021 | depin_first_party |
| 2026-09-24 | 58,021 | depin_first_party |
| 2026-09-25 | 58,021 | depin_first_party |
| 2026-09-26 | 58,035 | depin_first_party |
| 2026-09-27 | 58,035 | depin_first_party |
| 2026-09-28 | 58,036 | depin_first_party |
| 2026-09-29 | 58,041 | depin_first_party |
| 2026-09-30 | 58,044 | depin_first_party |
| 2026-10-01 | 58,047 | depin_first_party |
| 2026-10-02 | 58,048 | depin_first_party |
| 2026-10-03 | 58,050 | depin_first_party |
| 2026-10-04 | 58,050 | depin_first_party |
| 2026-10-05 | 58,051 | depin_first_party |
| 2026-10-06 | 58,053 | depin_first_party |
| 2026-10-07 | 58,065 | depin_first_party |
| 2026-10-08 | 58,065 | depin_first_party |
| 2026-10-09 | 58,065 | depin_first_party |
| 2026-10-10 | 58,065 | depin_first_party |
| 2026-10-11 | 58,065 | depin_first_party |
| 2026-10-12 | 58,066 | depin_first_party |
| 2026-10-13 | 58,068 | depin_first_party |
| 2026-10-14 | 58,070 | depin_first_party |
| 2026-10-15 | 58,079 | depin_first_party |
| 2026-10-16 | 58,079 | depin_first_party |
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 HNT 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 overwritten; that retention is the only reason a rewrite is detectable, and it is the part every overwriting vendor discards. HNT is absent from this table because its own ledger is empty — the estate-wide rows are the proof the detector fires when a rewrite actually happens.
| First detected | Network | Metric | Was | Became | Δ | Kind | Provenance |
|---|---|---|---|---|---|---|---|
| 2026-10-17 01:15:02 | AR | blocks | 1,980,116 | 1,702,204 | -14.035% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | AR | blocks | 1,986,220 | 1,702,204 | -14.299% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | AR | blocks | 1,988,930 | 1,702,206 | -14.416% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | AR | blocks | 1,982,176 | 1,702,204 | -14.124% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,443,521.44 | 1,442,910.44 | -0.042% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,415,054 | 1,414,119 | -0.066% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,419,322 | 1,419,152 | -0.012% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | GRT | dl_fees_alltime_usd | 1,419,566 | 1,419,322 | -0.017% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | NODE | dl_fees_alltime_usd | 811,347 | 810,962 | -0.047% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | NODE | dl_fees_alltime_usd | 811,126 | 810,992 | -0.017% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | OPEN | dl_fees_alltime_usd | 288,385 | 288,055 | -0.114% | backward_revision | depin_first_party |
| 2026-10-17 01:15:02 | STORJ | disqualified_nodes | 80,238 | 79,569 | -0.834% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 1,992,299 | 1,702,218 | -14.560% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 1,999,726 | 1,702,218 | -14.877% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 1,995,677 | 1,702,218 | -14.705% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 2,001,736 | 1,702,218 | -14.963% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AR | blocks | 2,007,210 | 1,702,218 | -15.195% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | ATH | dl_fees_alltime_usd | 180,402,699.27 | 180,348,562.27 | -0.030% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AUKI | dl_fees_alltime_usd | 248,389 | 248,364 | -0.010% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AUKI | dl_fees_alltime_usd | 253,682 | 251,527 | -0.849% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | AUKI | dl_fees_alltime_usd | 249,318 | 249,293 | -0.010% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,431,295.44 | 1,428,351.44 | -0.206% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,433,230.44 | 1,433,068.44 | -0.011% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,441,313.44 | 1,440,661.44 | -0.045% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | GRT | dl_fees_alltime_usd | 1,424,316 | 1,423,345 | -0.068% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | NODE | dl_fees_alltime_usd | 804,574 | 804,388 | -0.023% | backward_revision | depin_first_party |
| 2026-10-16 01:15:02 | OPEN | dl_fees_alltime_usd | 272,079 | 271,588 | -0.180% | backward_revision | depin_first_party |
| 2026-09-05 01:15:02 | AUKI | token_transfers_total | 1,230,167 | 1,228,860 | -0.106% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | EIGEN | fees_alltime_usd | 161,955,683.53 | 161,932,203.53 | -0.014% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | GRT | fees_alltime_usd | 1,419,558 | 1,419,328 | -0.016% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | GRT | fees_alltime_usd | 1,424,302 | 1,423,345 | -0.067% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | GRT | fees_alltime_usd | 1,419,328 | 1,419,152 | -0.012% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | NODE | fees_alltime_usd | 804,574 | 804,388 | -0.023% | backward_revision | DefiLlama /overview/fees · origin ↗ |
| 2026-09-05 01:15:02 | OBOT | token_transfers_total | 40,253 | 40,246 | -0.017% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | OVPP | token_transfers_total | 1,356,749 | 1,354,903 | -0.136% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | R1 | token_transfers_total | 194,634 | 194,527 | -0.055% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | R1 | token_transfers_total | 194,390 | 194,337 | -0.027% | backward_revision | evm_blockscout · origin ↗ |
| 2026-09-05 01:15:02 | SOGNI | token_transfers_total | 1,177,219 | 1,174,145 | -0.261% | backward_revision | evm_blockscout · 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 overwritten. Population gauges (hotspot 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 IOT_HOTSPOTS case 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; a frozen daily copy serves at /revision-ledger/REVISIONS_20261017.json.
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 Helium's own entities service, the first-party source for the hotspot families; command 4 is the DefiLlama endpoint behind the withdrawn fees_alltime_usd, so the reason can be checked at origin; command 5 is the estate's graded network row; command 6 is the frozen daily snapshot of the ledger. One polite call per endpoint, no hammering.
# 1) The served revision feed for HNT — the same rows this page queried, live:
curl -s "https://kairossignal.com/v1/revisions?symbol=HNT" | 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) Helium's own entities API (the first-party family for hotspot telemetry):
curl -s -H "User-Agent: kairos-check" "https://entities.nft.helium.io/v2/hotspots/pagination-metadata?subnetwork=iot" | python3 -m json.tool
# 4) DefiLlama's fees series for Helium (behind the withdrawn fees_alltime_usd — quality incident defillama_hnt_buyback_as_fees_20260925):
curl -s -H "User-Agent: kairos-check" "https://api.llama.fi/summary/fees/helium-network" | python3 -m json.tool | head -40
# 5) This estate's public API row for HNT (grades + provenance):
curl -s "https://kairossignal.com/v1/network/HNT" | 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_20261017.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_hnt.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. The HNT revision count is the live result of SELECT count() FROM default.depin_revision_ledger WHERE network='HNT'; the page refuses to ship if the served /v1/revisions?symbol=HNT 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 HNT is genuinely empty today — the watchlist queries above measure what the archive holds of the cumulative class, with DefiLlama's withdrawn fees_alltime_usd excluded (quality incident defillama_hnt_buyback_as_fees_20260925) — and this page says so instead of inventing restatements. The same-stamp conflict check is likewise the honest live answer: 0 groups in both tables. Upstream probes ran serially by this generator immediately before rendering: Helium entities API, IOT subnetwork (first-party upstream) HTTP 200; Helium entities API, MOBILE subnetwork (first-party upstream) HTTP 200; DefiLlama /summary/fees/helium-network (alltime-fees source) HTTP 200; estate /v1/revisions?symbol=HNT HTTP 200; estate /v1/network/HNT HTTP 200; CoinGecko helium page (browser-verified origin; 403 here is its bot wall) HTTP 403; frozen daily ledger snapshot HTTP 200.
propintel/gen_revision_page_hnt.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.