IQ (IQ) — the revision ledger

Generated 2026-09-02T20:37:34Z from live ClickHouse queries against this estate's ledger. Point-in-time archive held for IQ: 7,405 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,405 rows carries a verify_url · 32 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 IQ view of that product: the live ledger for IQ — 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 IQ'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. IQ (the catalog name here is IQ — CoinGecko lists it under the everipedia slug; category other, chains binance-smart-chain, ethereum, polygon-pos) does not publish a public stats API this estate polls (has_public_stats_api=0 in the catalog) — the network-side series come from Blockscout's Ethereum-mainnet API for the IQ contract 0x579cea1889991f68acc35ff5c3dd0621ff29b0c9: lifetime gas used by the contract, lifetime contract transactions, lifetime token transfer events, holder count, top-holder balance and on-chain total supply, captured by this estate's collector alongside CoinGecko's market series and DefiLlama's protocol series. The daily archive additionally holds the firehose's HOLDERS population row for IQ from depin_first_party.

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 ↗
DefiLlama /protocols25922592026-08-22 13:18:55 → 2026-09-02 18:58:01sample origin ↗
evm_blockscout966962026-08-09 23:27:47 → 2026-09-02 12:37:02sample origin ↗

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

The ledger query ran during generation and returned 0 rows for IQ. Zero here is the live query result, not a gap — the ledger itself is at /v1/revisions?symbol=IQ (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: the estate API's free-tier daily quota answered HTTP 429 at generation time (resets 00:00 UTC); the ledger count on this page is the live ClickHouse result, and the served endpoint was probed and found quota-gated, not missing.

Why zero is the interesting answer. The detector does not skip IQ — the opposite of a coverage gap. 3 of IQ's series sit on the estate detector's cumulative watchlist (contract_gas_used_total, contract_transactions_total, token_transfers_total — declared restatement-class by name in propintel/revision_ledger.py). All 3 watched counter series were held for the full window (35 daily snapshot rows, plus their hourly Blockscout trails rendered below) and measured strictly non-decreasing in time order across every held stamp — the detector diffed them, found no backward step, and ledgered nothing. The backward moves that DO exist in IQ's archive are all in the population/position/market class — holders_count (holders consolidate and sell), top_holder_balance (whales move), price, market cap and the rolling windows — measured, printed, and explained below: a drop there is a real market or population change, not upstream rewriting history, and it is deliberately not ledgered. The classification is checkable against the raw rows below. 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 IQ — the cumulative counters, measured

The detector diffs every daily snapshot of every cumulative-by-construction series. For IQ the counter class is the EVM Blockscout contract family: this estate captures six series from Blockscout's Ethereum-mainnet endpoints into depin_onchain (6 series × 96 captured stamps total, 2026-08-09 23:27:47 → 2026-09-02 12:37:02). 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) — declares the transaction, transfer and gas-counter families restatement-class by its own comment block. The three IQ spellings on that list are diffed below, live, over the full held window; the other three Blockscout series are rendered as the exclusion proof.

Watchlist series in the daily archiveRowsDaysSource
contract_gas_used_total1010evm_blockscout
contract_transactions_total1010evm_blockscout
token_transfers_total1111evm_blockscout

The intersection is non-empty: the detector's daily diff genuinely ran over these IQ series for their whole snapshot history — and every consecutive pair in every one of them moved forward or stayed flat. The hourly Blockscout archive below is the finer-grained record of the same counters.

contract_gas_used_total (on the detector watchlist) — lifetime gas consumed at the IQ contract — a cumulative counter that cannot decrease unless the indexer rewrote it, captured from Blockscout (measured strictly non-decreasing (never backward) across all 11 held stamps). Every held stamp, first and last shown here; the full trail is one ClickHouse query away (command 4 below):

Captured (UTC)ValueSource
2026-08-23 02:56:093,715,572,381blockscout counters ↗
2026-08-24 03:37:013,763,322,755blockscout counters ↗
2026-08-25 04:37:013,766,439,805blockscout counters ↗
2026-08-26 05:37:013,768,025,139blockscout counters ↗
2026-08-27 06:37:013,770,514,273blockscout counters ↗
2026-08-28 07:37:023,776,730,683blockscout counters ↗
2026-08-29 08:37:013,777,817,227blockscout counters ↗
2026-08-30 09:37:013,778,958,009blockscout counters ↗
2026-08-31 10:37:013,780,170,599blockscout counters ↗
2026-09-01 11:37:013,782,389,029blockscout counters ↗
2026-09-02 12:37:023,864,180,266blockscout counters ↗

contract_transactions_total (on the detector watchlist) — lifetime count of transactions touching the IQ contract — same cumulative-by-construction class, captured from Blockscout (measured strictly non-decreasing (never backward) across all 11 held stamps). Every held stamp, first and last shown here; the full trail is one ClickHouse query away (command 4 below):

Captured (UTC)ValueSource
2026-08-23 02:56:0996,811blockscout counters ↗
2026-08-24 03:37:0198,043blockscout counters ↗
2026-08-25 04:37:0198,122blockscout counters ↗
2026-08-26 05:37:0198,162blockscout counters ↗
2026-08-27 06:37:0198,225blockscout counters ↗
2026-08-28 07:37:0298,396blockscout counters ↗
2026-08-29 08:37:0198,423blockscout counters ↗
2026-08-30 09:37:0198,453blockscout counters ↗
2026-08-31 10:37:0198,486blockscout counters ↗
2026-09-01 11:37:0198,544blockscout counters ↗
2026-09-02 12:37:02100,653blockscout counters ↗

token_transfers_total (on the detector watchlist) — lifetime transfer events of the IQ token — same cumulative-by-construction class, captured from Blockscout (measured strictly non-decreasing (never backward) across all 13 held stamps). Every held stamp, first and last shown here; the full trail is one ClickHouse query away (command 4 below):

Captured (UTC)ValueSource
2026-08-22 13:15:28294,018blockscout counters ↗
2026-08-23 15:37:01295,079blockscout counters ↗
2026-08-23 15:39:06295,079blockscout counters ↗
2026-08-23 15:40:13295,079blockscout counters ↗
2026-08-24 16:37:01295,218blockscout counters ↗
2026-08-25 17:37:01295,373blockscout counters ↗
2026-08-26 18:37:01295,601blockscout counters ↗
2026-08-27 19:37:01295,851blockscout counters ↗
2026-08-28 20:37:02296,009blockscout counters ↗
2026-08-29 21:37:01296,113blockscout counters ↗
2026-08-30 22:37:01296,318blockscout counters ↗
2026-08-31 22:37:02296,445blockscout counters ↗
2026-09-01 23:37:02301,425blockscout counters ↗

holders_count (excluded class — shown as the proof of exclusion) — POPULATION GAUGE — the number of addresses holding IQ; holders consolidate and sell, so it legitimately moves both ways (excluded from the cumulative class by construction), captured from Blockscout (moves backward — every step itemised below). Every held stamp, first and last shown here; the full trail is one ClickHouse query away (command 4 below):

Captured (UTC)ValueSource
2026-08-09 23:27:474,173blockscout counters ↗
2026-08-10 23:37:014,168blockscout counters ↗
2026-08-12 00:37:014,171blockscout counters ↗
2026-08-13 01:37:014,171blockscout counters ↗
2026-08-14 02:37:014,173blockscout counters ↗
2026-08-15 03:37:014,175blockscout counters ↗
2026-08-16 04:37:014,176blockscout counters ↗
2026-08-17 05:37:014,179blockscout counters ↗
2026-08-18 06:37:014,176blockscout counters ↗
2026-08-19 07:37:014,173blockscout counters ↗
2026-08-20 08:37:024,176blockscout counters ↗
2026-08-21 09:37:014,177blockscout counters ↗
2026-08-22 10:37:014,184blockscout counters ↗
2026-08-23 15:37:014,196blockscout counters ↗
2026-08-23 15:39:064,196blockscout counters ↗
2026-08-23 15:40:134,196blockscout counters ↗
2026-08-24 16:37:014,192blockscout counters ↗
2026-08-25 17:37:014,197blockscout counters ↗
2026-08-26 18:37:014,195blockscout counters ↗
2026-08-27 19:37:014,180blockscout counters ↗
2026-08-28 20:37:024,179blockscout counters ↗
2026-08-29 21:37:014,181blockscout counters ↗
2026-08-30 22:37:014,179blockscout counters ↗
2026-08-31 22:37:024,183blockscout counters ↗
2026-09-01 23:37:024,226blockscout counters ↗

onchain_total_supply (excluded class — shown as the proof of exclusion) — token total supply read from the chain — flat in the window (fixed supply); total-supply spellings are still excluded from the cumulative class because burns/mints legitimately reduce them (NOT_TRULY_CUMULATIVE in the detector), captured from Blockscout (no backward step anywhere in the held window). Every held stamp, first and last shown here; the full trail is one ClickHouse query away (command 4 below):

Captured (UTC)ValueSource
2026-08-09 23:27:4723,408,867,112.9811blockscout counters ↗
2026-08-10 23:37:0123,408,867,112.9811blockscout counters ↗
2026-08-12 00:37:0123,408,867,112.9811blockscout counters ↗
2026-08-13 01:37:0123,408,867,112.9811blockscout counters ↗
2026-08-14 02:37:0123,408,867,112.9811blockscout counters ↗
2026-08-15 03:37:0123,408,867,112.9811blockscout counters ↗
2026-08-16 04:37:0123,408,867,112.9811blockscout counters ↗
2026-08-17 05:37:0123,408,867,112.9811blockscout counters ↗
2026-08-18 06:37:0123,408,867,112.9811blockscout counters ↗
2026-08-19 07:37:0123,408,867,112.9811blockscout counters ↗
2026-08-20 08:37:0223,408,867,112.9811blockscout counters ↗
2026-08-21 09:37:0123,408,867,112.9811blockscout counters ↗
2026-08-22 10:37:0123,408,867,112.9811blockscout counters ↗
2026-08-23 15:37:0123,408,867,112.9811blockscout counters ↗
2026-08-23 15:39:0623,408,867,112.9811blockscout counters ↗
2026-08-23 15:40:1323,408,867,112.9811blockscout counters ↗
2026-08-24 16:37:0123,408,867,112.9811blockscout counters ↗
2026-08-25 17:37:0123,408,867,112.9811blockscout counters ↗
2026-08-26 18:37:0123,408,867,112.9811blockscout counters ↗
2026-08-27 19:37:0123,408,867,112.9811blockscout counters ↗
2026-08-28 20:37:0223,408,867,112.9811blockscout counters ↗
2026-08-29 21:37:0123,408,867,112.9811blockscout counters ↗
2026-08-30 22:37:0123,408,867,112.9811blockscout counters ↗
2026-08-31 22:37:0223,408,867,112.9811blockscout counters ↗
2026-09-01 23:37:0223,408,867,112.9811blockscout counters ↗

top_holder_balance (excluded class — shown as the proof of exclusion) — POSITION GAUGE — the largest holder's balance; whale movements legitimately go both ways (excluded by construction), captured from Blockscout (moves backward — every step itemised below). Every held stamp, first and last shown here; the full trail is one ClickHouse query away (command 4 below):

Captured (UTC)ValueSource
2026-08-23 02:56:0913,576,708,761.7054blockscout counters ↗
2026-08-24 03:37:0113,576,708,761.7054blockscout counters ↗
2026-08-25 04:37:0113,576,708,761.7054blockscout counters ↗
2026-08-26 05:37:0113,576,708,761.7054blockscout counters ↗
2026-08-27 06:37:0113,576,708,761.7054blockscout counters ↗
2026-08-28 07:37:0213,576,708,761.7054blockscout counters ↗
2026-08-29 08:37:0113,576,708,761.7054blockscout counters ↗
2026-08-30 09:37:0113,576,708,761.7054blockscout counters ↗
2026-08-31 11:37:0113,576,708,761.7054blockscout counters ↗
2026-09-01 12:37:0113,432,858,769.6499blockscout counters ↗
2026-09-02 12:37:0213,443,581,160.4175blockscout counters ↗

Every backward move in the Blockscout trails, measured live: 9 move(s), all in the gauge/position class (holders_count, top_holder_balance). The largest: top_holder_balance 2026-08-31 11:37:01 → 2026-09-01 12:37:01 (13,576,708,761.7054 → 13,432,858,769.6499, Δ -143,849,992.06, -1.06%). These are real population and position changes — addresses consolidating, a whale moving — exactly the class the detector's rules exclude: ledgering them would be manufacturing a fake revision, the exact behaviour this product exists to eliminate. The three watchlist counters themselves produced ZERO backward moves across every held stamp.

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 market, population or window change, not upstream rewriting history. For IQ the market series dominate this table — price, market cap, fully-diluted valuation, volume, the rolling change windows all oscillate as the market revalues and windows roll off; holders_count and top_holder_balance move with real on-chain population and position changes. Publishing them as "revisions" would be exactly the fake-metric behaviour this product exists to eliminate.

Series (gauge / market)Backward moves observedSnapshot rows held
fully_diluted_valuation_usd917
market_cap_usd917
price_usd917
HOLDERS824
holders_count823
price_from_atl_pct711
volume_24h_usd711
price_high_24h_usd611
price_low_24h_usd511
market_cap_rank411
price_change_14d_pct411
price_change_7d_pct411
staking_tvl_usd410
market_cap_change_24h_pct311
market_cap_change_24h_usd311
price_change_24h_usd311
price_change_1h_pct211
price_change_24h_pct211
price_change_30d_pct211
top_holder_balance110

Same-timestamp conflicting values on record for IQ: 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 IQ 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. The largest event on record: AR blocks 1,988,930 → 1,702,206 (-14.42%) — the canonical example of what this product catches. IQ's own ledger slice is the zero above.

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 by more than the 0.01% float-noise floor; 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 table on this page is the worked example. For IQ the counter class is the Blockscout contract-counter family — on the watchlist by name, held in the daily archive, and additionally archived at hourly cadence in depin_onchain, diffed live on this page above. 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

IQ's slice of depin_daily: 432 rows over 24 snapshot days (2026-08-09 → 2026-09-01), from 4 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, and for IQ additionally the hourly Blockscout counter archive measured above. 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–3 hit this estate's public API (the same rows this page queried — every row carries source / as_of / verify_url); commands 4–5 hit the Blockscout origin endpoints the counter rows came from; commands 6–7 are the DefiLlama and CoinGecko origin surfaces; command 8 is the frozen daily snapshot of the ledger. One polite call per endpoint, no hammering.

# 1) The served revision feed for IQ — the same rows this page queried, live:
curl -s "https://kairossignal.com/v1/revisions?symbol=IQ" | 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) The IQ network row (every live series for IQ, with provenance):
curl -s "https://kairossignal.com/v1/network/IQ" | python3 -m json.tool | head -60
# 4) Blockscout Ethereum-mainnet counters for the IQ contract (the *_total counter origin):
curl -s -H "User-Agent: kairos-check" "https://eth.blockscout.com/api/v2/addresses/0x579cea1889991f68acc35ff5c3dd0621ff29b0c9/counters" | python3 -m json.tool
# 5) Blockscout token counters for IQ (the token_transfers_total origin):
curl -s -H "User-Agent: kairos-check" "https://eth.blockscout.com/api/v2/tokens/0x579cea1889991f68acc35ff5c3dd0621ff29b0c9/counters" | python3 -m json.tool
# 6) DefiLlama protocol page for iq (the tvl_usd origin):
curl -s -o /dev/null -w "%{http_code}\n" -H "User-Agent: kairos-check" "https://defillama.com/protocol/iq"
# 7) CoinGecko everipedia 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/everipedia"
# 8) 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/IQ.

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_iq.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. The IQ revision count is the live result of SELECT count() FROM default.depin_revision_ledger WHERE network='IQ'; the page refuses to ship if the served /v1/revisions?symbol=IQ is reachable and disagrees with it (at generation the estate API was answering its free-tier daily-quota 429, so the cross-check ran against ClickHouse as the authority and the endpoint was verified quota-gated, not missing). 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: CoinGecko everipedia page (IQ's market-series origin; 403 here is its bot wall) HTTP 403; DefiLlama protocol page for iq (the tvl_usd origin) HTTP 403; Blockscout Ethereum-mainnet address counters for the IQ contract (the *_total counter origin) HTTP 200; Blockscout Ethereum-mainnet token counters for the IQ contract (the token_transfers origin) HTTP 200.

Machine-generated 2026-09-02T20:37:34Z by propintel/gen_revision_page_iq.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.