BitTorrent (BTT) — the revision ledger

Generated 2026-09-03T18:05:45Z from live ClickHouse queries against this estate's ledger. Point-in-time archive held for BitTorrent: 7,954 observations · 32 distinct series · 4 upstream sources · first row 2026-08-09 17:15:20 · newest row 2026-09-03 17:49:20 · every one of the 7,954 rows carries a verify_url · 32 series refreshed in the last 24h (606 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 BTT view of that product: the live ledger for BTT — 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 BitTorrent's archive comes from

4 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. BTT (the catalog name here is BitTorrent, category storage, chains binance-smart-chain,bittorrent,energi,ethereum,tron) publishes no first-party stats API of its own in this catalog — the network-side series held for BTT come from this estate's own depin_first_party collectors (the HOLDERS series) and Blockscout's on-chain counters for the BTT token contract (0xc669928185dbce49d2230cc9b0979be6dc797957 on Ethereum — token transfers, contract transactions and gas, holders, total supply, top holder), with CoinGecko's market series and DefiLlama's chain-level series alongside.

SourceRows heldSeriesRows w/ verify_urlWindow (UTC)Sample origin
CoinGecko /coins/markets7,578247,5782026-08-09 17:15:20 → 2026-09-03 17:49:20sample origin ↗
DefiLlama /v2/chains13711372026-08-23 02:56:30 → 2026-09-03 16:58:01sample origin ↗
DefiLlama /stablecoinchains13711372026-08-23 02:56:30 → 2026-09-03 16:58:01sample origin ↗
evm_blockscout10261022026-08-09 23:27:47 → 2026-09-03 13:37:01sample origin ↗

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

The ledger query ran during generation and returned 0 rows for BTT. Zero here is the live query result, not a gap — the ledger itself is at /v1/revisions?symbol=BTT (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=BTT 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 BTT — below, the live intersection shows the 3 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 BitTorrent — 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 (75 declared names, so this page can never drift from the detector) — with what the daily archive holds for BTT. All three series here are Blockscout's on-chain counters for the token contract.

Watchlist series heldRowsDaysSource
contract_gas_used_total1111evm_blockscout
contract_transactions_total1111evm_blockscout
token_transfers_total1111evm_blockscout

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

These are the actual counter trails the detector diffed for BTT, 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 (measured live with lagInFrame: token_transfers_total 0 backward / 10 forward moves, contract_transactions_total 0 / 10, contract_gas_used_total 0 / 10), which is exactly why the ledger above is empty. The raw runs are the evidence; the reader does not have to trust the summary.

token_transfers_total — the cumulative token-transfer counter for the BTT token contract, collected from Blockscout's on-chain counters (evm_blockscout) across all 11 snapshot days:

Snapshot dateCumulative token transfersSource
2026-08-22139,979evm_blockscout
2026-08-23140,045evm_blockscout
2026-08-24140,060evm_blockscout
2026-08-25140,105evm_blockscout
2026-08-26140,132evm_blockscout
2026-08-27140,160evm_blockscout
2026-08-28140,200evm_blockscout
2026-08-29140,224evm_blockscout
2026-08-30140,254evm_blockscout
2026-08-31140,269evm_blockscout
2026-09-01140,302evm_blockscout

contract_transactions_total — the cumulative transaction counter for the same contract, same origin, 11 snapshot days:

Snapshot dateCumulative contract transactionsSource
2026-08-2319,927evm_blockscout
2026-08-2419,963evm_blockscout
2026-08-2519,967evm_blockscout
2026-08-2619,971evm_blockscout
2026-08-2719,974evm_blockscout
2026-08-2819,979evm_blockscout
2026-08-2919,987evm_blockscout
2026-08-3019,988evm_blockscout
2026-08-3119,995evm_blockscout
2026-09-0119,996evm_blockscout
2026-09-0220,002evm_blockscout

contract_gas_used_total — the cumulative gas counter for the same contract, same origin, 11 snapshot days:

Snapshot dateCumulative gas usedSource
2026-08-23874,947,293evm_blockscout
2026-08-24876,365,751evm_blockscout
2026-08-25876,508,967evm_blockscout
2026-08-26876,666,523evm_blockscout
2026-08-27876,806,441evm_blockscout
2026-08-28877,021,699evm_blockscout
2026-08-29877,336,557evm_blockscout
2026-08-30877,383,607evm_blockscout
2026-08-31877,657,211evm_blockscout
2026-09-01877,703,507evm_blockscout
2026-09-02877,982,313evm_blockscout

Cross-source agreement — two independent pipelines, one quantity

The daily archive holds two independent captures of the same quantity: HOLDERS from this estate's first-party pipeline (depin_first_party) and holders_count from Blockscout's on-chain counters (evm_blockscout). On the 23 snapshot days both hold a value, they agree exactly on 11 days, within ±2 holders on 12 more, and 0 diverge beyond that — the widest gap across the overlap is 2 holders. A live-computed check, not an assertion; the deltas are shown raw.

Snapshot dateFirst-party HOLDERSBlockscout holders_countGapVerdict
2026-08-0920,81720,8181within 2
2026-08-1020,82320,8241within 2
2026-08-1220,82220,8231within 2
2026-08-1320,82020,8222within 2
2026-08-1420,82120,8210exact
2026-08-1520,82220,8220exact
2026-08-1620,82220,8231within 2
2026-08-1720,82220,8220exact
2026-08-1820,82420,8231within 2
2026-08-1920,82820,8271within 2
2026-08-2020,82920,8281within 2
2026-08-2120,82920,8290exact
2026-08-2220,82820,8271within 2
2026-08-2320,83020,8300exact
2026-08-2420,83120,8301within 2
2026-08-2520,82920,8290exact
2026-08-2620,83220,8311within 2
2026-08-2720,83020,8300exact
2026-08-2820,82920,8301within 2
2026-08-2920,82920,8290exact
2026-08-3020,83220,8320exact
2026-08-3120,83320,8330exact
2026-09-0120,83120,8310exact

What the gaps are, stated plainly. Blockscout recounts the contract's holders at snapshot time while the first-party collector holds its own capture from the same day — a one or two address difference between two same-day captures of a live holder set is a measurement-time artefact, not a restatement. This is a gauge-class quantity: the detector excludes it by construction, and no row here is counted as a revision anywhere.

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 or window change, not upstream rewriting history. The price, market-cap, holder-count and rolling-window classes dominate this table for BTT — including the two independent holder captures themselves, which oscillate by single counts as addresses interact with the contract. Publishing them as "revisions" would be exactly the fake-metric behaviour this product exists to eliminate.

Series (gauge / revaluation)Backward moves observedSnapshot rows held
holders_count923
fully_diluted_valuation_usd818
market_cap_usd818
price_change_14d_pct812
price_usd818
HOLDERS725
price_from_atl_pct712
volume_24h_usd712
price_change_24h_pct512
price_change_30d_pct512
price_change_7d_pct512
price_high_24h_usd512
price_low_24h_usd512
price_change_1h_pct412

Same-timestamp conflicting values on record for BTT

The task-level conflict check, run live: any (metric, timestamp) family where this estate recorded two or more different values. The query returned 0 conflicting groups in depin_onchain and 0 in depin_daily. It did return 6 repeat-capture groups — the same (metric, as_of) written more than once with the identical value each time; the estate keeps every write, so the double-captures are published below rather than silently deduplicated.

MetricTimestamp (UTC)Rows writtenDistinct valuesVerdictProvenance
circulating_supply2026-08-17 22:44:20.00021identical double-writeCoinGecko /coins/markets · origin ↗
fully_diluted_valuation_usd2026-08-17 22:44:20.00021identical double-writeCoinGecko /coins/markets · origin ↗
market_cap_usd2026-08-17 22:44:20.00021identical double-writeCoinGecko /coins/markets · origin ↗
max_supply2026-08-17 22:44:20.00021identical double-writeCoinGecko /coins/markets · origin ↗
price_usd2026-08-17 22:44:20.00021identical double-writeCoinGecko /coins/markets · origin ↗
total_supply2026-08-17 22:44:20.00021identical double-writeCoinGecko /coins/markets · origin ↗

What these are, stated plainly. The repeat-capture groups above are examined per row with their provenance; the estate keeps every write rather than overwriting, which is why any disagreement would be visible and publishable instead of silently destroyed.

The ledger, live — every restatement recorded estate-wide (20 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.

First detectedNetworkMetricWasBecameΔKindProvenance
2026-09-03 01:15:02ARblocks1,986,2201,702,204-14.299%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02ARblocks1,980,1161,702,204-14.035%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02ARblocks1,992,2991,702,218-14.560%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02ARblocks1,988,9301,702,206-14.416%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02ARblocks1,982,1761,702,204-14.124%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02AUKItoken_transfers_total1,230,1671,228,860-0.106%backward_revisionevm_blockscout · origin ↗
2026-09-03 01:15:02EIGENfees_alltime_usd161,955,683.53161,932,203.53-0.014%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-03 01:15:02GRTdl_fees_alltime_usd1,419,3221,419,152-0.012%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02GRTdl_fees_alltime_usd1,415,0541,414,119-0.066%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02GRTdl_fees_alltime_usd1,419,5661,419,322-0.017%backward_revisiondepin_first_party · origin ↗
2026-09-03 01:15:02GRTfees_alltime_usd1,419,3281,419,152-0.012%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-03 01:15:02GRTfees_alltime_usd1,419,5581,419,328-0.016%backward_revisionDefiLlama /overview/fees · origin ↗
2026-09-03 01:15:02R1token_transfers_total194,634194,527-0.055%backward_revisionevm_blockscout · origin ↗
2026-09-03 01:15:02R1token_transfers_total194,390194,337-0.027%backward_revisionevm_blockscout · origin ↗
2026-09-03 01:15:02SOGNItoken_transfers_total1,177,2191,174,145-0.261%backward_revisionevm_blockscout · origin ↗
2026-09-03 01:15:02STORJdisqualified_nodes80,23879,569-0.834%backward_revisiondepin_first_party · origin ↗
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-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 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. 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_20260903.json.

The snapshot archive the detection runs over

BTT's slice of depin_daily: 439 rows over 25 snapshot days (2026-08-09 → 2026-09-02), from 3 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.

Daily-archive sourceRowsSeriesWindow (snapshot dates)
CoinGecko /coins/markets324242026-08-09 → 2026-09-02
evm_blockscout9062026-08-09 → 2026-09-02
depin_first_party2512026-08-09 → 2026-09-02

The DefiLlama chain-level series held for BTT (chain_tvl_usd, stablecoin_supply_usd) are point-in-time rows in depin_onchain and are reflected in the provenance rollup above; they are not part of this daily snapshot archive, which is stated exactly as the archive holds it.

Estate grades for BTT (graded 2026-08-20 13:54:15.000)

Served by /v1/network/BTT — the same grades a paying agent receives. Scores are the engines' own 0–100 outputs, published exactly as the engines emitted them, unflattering parts included.

EngineGradeScore
Node qualityA100
Dilution riskMINIMAL89.97
Bot riskC85
Dev velocityA100
RevenueF0
Data coverageD10
OverallB57.244

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 Blockscout endpoint the on-chain counter rows came from; command 4 is the DefiLlama chain-series origin; command 5 is the CoinGecko origin page; command 6 is the estate's graded network row; command 7 is the frozen daily snapshot of the ledger. One polite call per endpoint, no hammering.

# 1) The served revision feed for BTT — the same rows this page queried, live:
curl -s "https://kairossignal.com/v1/revisions?symbol=BTT" | 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 BTT token contract (the on-chain counters origin):
curl -s -H "User-Agent: kairos-check" "https://eth.blockscout.com/api/v2/addresses/0xc669928185dbce49d2230cc9b0979be6dc797957/counters" | python3 -m json.tool | head -30
# 4) DefiLlama /v2/chains (the chain_tvl_usd origin family):
curl -s -o /dev/null -w "%{http_code}\n" -H "User-Agent: kairos-check" "https://api.llama.fi/v2/chains"
# 5) CoinGecko BTT 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/bittorrent"
# 6) This estate's public API row for BTT (grades + provenance):
curl -s "https://kairossignal.com/v1/network/BTT" | python3 -m json.tool | head -60
# 7) The public daily snapshot of the ledger (frozen copy):
curl -s -o /dev/null -w "%{http_code}\n" "https://kairossignal.com/revision-ledger/REVISIONS_20260903.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/BTT.

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_btt.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. The BTT revision count is the live result of SELECT count() FROM default.depin_revision_ledger WHERE network='BTT'; the page refuses to ship if the served /v1/revisions?symbol=BTT disagrees with it. The 20 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 conflicting groups in depin_onchain, 0 in depin_daily, plus 6 identical repeat-capture groups published above. Upstream probes ran serially by this generator immediately before rendering: CoinGecko BTT page (the market-series origin; 403 here is its bot wall) HTTP 403; DefiLlama /v2/chains (the chain_tvl_usd origin family) HTTP 200; DefiLlama /stablecoinchains (the stablecoin_supply_usd origin family) HTTP 200; Blockscout counters for the BTT token contract (the on-chain counters origin) HTTP 200; estate /v1/revisions?symbol=BTT HTTP 200; estate /v1/network/BTT HTTP 200.

Machine-generated 2026-09-03T18:05:45Z by propintel/gen_revision_page_btt.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.