Solana (SOL) — the network, measured

Generated 2026-09-02T13:47:54Z from live ClickHouse queries against this estate's ledger. Held inventory: 10,515 observations · 53 distinct series · 6 upstream sources · first row 2026-08-22 13:21:20 · newest row 2026-09-02 13:41:01 · 10,515/10,515 rows carry a verify_url. 53 series refreshed in the last 24h (1,456 fresh rows). Nothing on this page is cached, estimated, or remembered.

What this page is. One network — Solana, the Layer-1 chain (catalog category Chain) whose supply-side telemetry is measured here from the public mainnet JSON-RPC plus two named aggregator/market references, packaged as a read-only product page. It reports what the network's own endpoints (and the named references) answered and when. It does not forecast, rank investment merit, or advise. Where a metric has a measurement caveat, the caveat ships with the metric — the dual-collector supply overlap, the pruned-history first-block zero, and the zero foundation inflation are declared below.

Provenance — where every number comes from

6 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.

SourceRows heldSeriesRows w/ verify_url Window (UTC)Sample origin
CoinGecko /coins/markets6,003236,0032026-08-22 13:21:20 → 2026-09-02 12:50:20sample origin ↗
deep_stats_solana_rpc3,095163,0952026-08-25 14:41:01 → 2026-09-02 13:41:01sample origin ↗
DefiLlama /overview/fees86778672026-08-22 22:58:02 → 2026-09-02 12:58:01sample origin ↗
solana_rpc304193042026-09-01 23:10:28 → 2026-09-02 13:23:02sample origin ↗
DefiLlama /v2/chains12311232026-08-23 02:56:30 → 2026-09-02 12:58:01sample origin ↗
DefiLlama /stablecoinchains12311232026-08-23 02:56:30 → 2026-09-02 12:58:01sample origin ↗

30-day history — headline series (daily last-value, live)

One row per series: latest value, a 30-day sparkline of daily last-known values (scaled to the series' own min→max), day count, and window change. Series absent from the 30-day window are omitted from this table, not zero-filled.

SeriesLatest30-day shapeDays held 30d changeWindow & provenance
price_usd97.73 usd▁▂▃▂▄█▆▆▄▅▄▃12+4.2%2026-08-22 → 2026-09-02 via CoinGecko /coins/markets · origin ↗
market_cap_usd57,210,502,412 usd▁▂▃▂▄█▆▆▄▅▄▃12+4.6%2026-08-22 → 2026-09-02 via CoinGecko /coins/markets · origin ↗
chain_tvl_usd5,618,933,649.8036 usd▁▂▁▂█▆▇▇▆▃▂11+0.6%2026-08-23 → 2026-09-02 via DefiLlama /v2/chains · origin ↗
fees_24h_usd899,773 usd▄▂▁▄▄▅█▅▃▁▃▄12+0.1%2026-08-22 → 2026-09-02 via DefiLlama /overview/fees · origin ↗
active_validators676 validators▇▇███▃▄▂▁9-1.5%2026-08-25 → 2026-09-02 via deep_stats_solana_rpc · origin ↗
avg_tps_recent3,939.3833 tps▄▅▅███▁▄▄9+0.1%2026-08-25 → 2026-09-02 via deep_stats_solana_rpc · origin ↗
circulating_supply585,292,356.4786 SOL▁▁▁▂▄▄▄▄▇███12+0.4%2026-08-22 → 2026-09-02 via solana_rpc · origin ↗
onchain_total_supply633,361,722.0755 SOL▁█2+0.0%2026-09-01 → 2026-09-02 via solana_rpc · origin ↗
solana_block_height421,758,026 blocks▁▂▃▄▅▅▆▇█9+0.5%2026-08-25 → 2026-09-02 via deep_stats_solana_rpc · origin ↗
solana_transaction_count544,454,899,896 txs▁▂▃▄▅▆▇██9+0.5%2026-08-25 → 2026-09-02 via deep_stats_solana_rpc · origin ↗
solana_epoch1,027 epoch▁▂▂▄▄▅▇▇█9+0.5%2026-08-25 → 2026-09-02 via deep_stats_solana_rpc · origin ↗
stablecoin_supply_usd15,600,434,768.3185 usd▇▇▇▇▇██▅▄▁▃11-1.6%2026-08-23 → 2026-09-02 via DefiLlama /stablecoinchains · origin ↗
inflation_total0.0367 rate█▆▆▅▅▄▂▂▁9-0.4%2026-08-25 → 2026-09-02 via deep_stats_solana_rpc · origin ↗
volume_24h_usd3,333,856,291 usd█▄▆▆▃▇▆▁▂▂▃▂12-55.7%2026-08-22 → 2026-09-02 via CoinGecko /coins/markets · origin ↗

Supply — the dual-collector overlap, declared

Two collector families read the same Solana RPC getSupply call and publish under their own metric names: solana_rpc (sol_deep_stats.py, running since 2026-09-01) writes circulating_supply / onchain_total_supply / non_circulating_supply; deep_stats_solana_rpc (deep_network_stats.py, running since 2026-08-25) writes solana_circulating_supply / solana_total_supply / solana_non_circulating_supply. The pairs are the same quantity measured by the same upstream method at slightly different sample times — shown side by side as held, never summed, merged, or silently deduplicated. The two collectors' values agree to within rounding.

MetricSourceValue as held CollectorRows (30d)As of (UTC)Verify
circulating_supplysolana_rpc585,292,356.4786 SOLsolana_rpc collector (sol_deep_stats.py) — live chain read162026-09-02 13:23:02origin ↗
non_circulating_supplysolana_rpc48,069,365.5969 SOLsolana_rpc collector (sol_deep_stats.py) — live chain read162026-09-02 13:23:02origin ↗
onchain_total_supplysolana_rpc633,361,722.0755 SOLsolana_rpc collector (sol_deep_stats.py) — live chain read162026-09-02 13:23:02origin ↗
solana_circulating_supplydeep_stats_solana_rpc585,292,345.5838 SOLdeep_stats_solana_rpc collector (deep_network_stats.py) — same RPC method, own metric name1942026-09-02 13:41:01origin ↗
solana_non_circulating_supplydeep_stats_solana_rpc48,069,365.5969 SOLdeep_stats_solana_rpc collector (deep_network_stats.py) — same RPC method, own metric name1942026-09-02 13:41:01origin ↗
solana_total_supplydeep_stats_solana_rpc633,361,711.1807 SOLdeep_stats_solana_rpc collector (deep_network_stats.py) — same RPC method, own metric name1942026-09-02 13:41:01origin ↗

Market reference — CoinGecko coin page, as held

Market-data reference rows: price, capitalisation, ATH/ATL, published change columns, volume. These are the coin-page reference's own numbers — the estate does not model, smooth, or forward-fill them. The chain reads (supply trio, validators, epoch) live in the RPC sections, not here.

MetricLatestAs of (UTC)Verify
circulating_supply585,292,381.9532 tokens2026-09-02 12:50:20origin ↗
fully_diluted_valuation_usd61,909,136,2792026-09-02 12:50:20origin ↗
market_cap_change_24h_pct-4.1303 percent2026-09-02 12:50:20origin ↗
market_cap_change_24h_usd-2,464,748,875.75232026-09-02 12:50:20origin ↗
market_cap_rank7 rank2026-09-02 12:50:20origin ↗
market_cap_usd57,210,502,4122026-09-02 12:50:20origin ↗
price_ath_usd293.312026-09-02 12:50:20origin ↗
price_atl_usd0.50082026-09-02 12:50:20origin ↗
price_change_14d_pct26.7 percent2026-09-02 12:50:20origin ↗
price_change_1h_pct-0.1 percent2026-09-02 12:50:20origin ↗
price_change_1y_pct-51.9 percent2026-09-02 12:50:20origin ↗
price_change_200d_pct13.8 percent2026-09-02 12:50:20origin ↗
price_change_24h_pct-4.1198 percent2026-09-02 12:50:20origin ↗
price_change_24h_usd-4.24362026-09-02 12:50:20origin ↗
price_change_30d_pct35.1 percent2026-09-02 12:50:20origin ↗
price_change_7d_pct0.5 percent2026-09-02 12:50:20origin ↗
price_from_ath_pct-66.6807 percent2026-09-02 12:50:20origin ↗
price_from_atl_pct19,414.607 percent2026-09-02 12:50:20origin ↗
price_high_24h_usd102.492026-09-02 12:50:20origin ↗
price_low_24h_usd97.382026-09-02 12:50:20origin ↗
price_usd97.732026-09-02 12:50:20origin ↗
total_supply633,361,767.0235 tokens2026-09-02 12:50:20origin ↗
volume_24h_usd3,333,856,2912026-09-02 12:50:20origin ↗

Chain & validator telemetry — Solana mainnet JSON-RPC, as held

Read directly from api.mainnet-beta.solana.com by two collector families: getEpochInfo (epoch, slots, height, tx count), getVoteAccounts (active/delinquent validators), getInflationRate (validator/foundation/total rates), getClusterNodes (node count, distinct versions), getSlot, getFirstAvailableBlock, getRecentPerformanceSamples (sampled TPS). Every row is a direct RPC read with its own as-of stamp.

MetricLatestAs of (UTC)Verify
active_validators676 validators2026-09-02 13:41:01origin ↗
avg_tps_recent3,939.3833 tps2026-09-02 13:41:01origin ↗
cluster_node_count3,681 nodes2026-09-02 13:41:01origin ↗
cluster_node_versions51 versions2026-09-02 13:23:02origin ↗
delinquent_validators19 validators2026-09-02 13:41:01origin ↗
inflation_foundation0 rate2026-09-02 13:41:01origin ↗
inflation_total0.0367 rate2026-09-02 13:41:01origin ↗
inflation_validator0.0367 rate2026-09-02 13:41:01origin ↗
solana_absolute_slot443,710,623 slots2026-09-02 13:41:01origin ↗
solana_block_height421,758,026 blocks2026-09-02 13:41:01origin ↗
solana_current_slot443,707,235 slots2026-09-02 13:23:02origin ↗
solana_epoch1,027 epoch2026-09-02 13:41:01origin ↗
solana_first_available_block0 blocks2026-09-02 13:23:02origin ↗
solana_slot_index46,623 slots2026-09-02 13:41:01origin ↗
solana_slots_in_epoch432,000 slots2026-09-02 13:41:01origin ↗
solana_transaction_count544,454,899,896 txs2026-09-02 13:41:01origin ↗

Fees, revenue & TVL — DefiLlama datasets, as held

Aggregator reads of on-chain money flows: total fees (24h/7d/30d/1y/all-time), protocol revenue, chain TVL, and stablecoin supply circulating on Solana. The estate does not model, smooth, or forward-fill these — they are the aggregator's own published figures for the chain.

MetricLatestAs of (UTC)Verify
chain_tvl_usd5,618,933,649.80362026-09-02 12:58:01origin ↗
fees_1y_usd251,872,8072026-09-02 12:58:01origin ↗
fees_24h_usd899,7732026-09-02 12:58:01origin ↗
fees_30d_usd22,259,0592026-09-02 12:58:01origin ↗
fees_7d_usd6,347,4042026-09-02 12:58:01origin ↗
fees_alltime_usd1,586,179,8942026-09-02 12:58:01origin ↗
revenue_24h_usd86,6612026-09-02 12:58:01origin ↗
revenue_30d_usd2,103,9552026-09-02 12:58:01origin ↗
stablecoin_supply_usd15,600,434,768.31852026-09-02 12:58:01origin ↗

Full metric inventory — 53 measured series, each with provenance

Every series held for SOL with rows in the last 30 days: latest value, when it was observed, which source observed it, how many rows we hold, how many of the last 30 days it reported, its comparability grade, and the origin link. "days/30" counts distinct dates with at least one row in the window.

MetricLatestAs of (UTC)Source RowsDays/30ComparabilityVerify
active_validators676 validators2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
avg_tps_recent3,939.3833 tps2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
chain_tvl_usd5,618,933,649.8036 usd2026-09-02 12:58:01DefiLlama /v2/chains12311/30sol-native (unmapped)origin ↗
circulating_supply585,292,356.4786 SOL2026-09-02 13:23:02solana_rpc27712/30sol-native (unmapped)origin ↗
cluster_node_count3,681 nodes2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
cluster_node_versions51 versions2026-09-02 13:23:02solana_rpc162/30sol-native (unmapped)origin ↗
delinquent_validators19 validators2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
fees_1y_usd251,872,807 usd2026-09-02 12:58:01DefiLlama /overview/fees12311/30sol-native (unmapped)origin ↗
fees_24h_usd899,773 usd2026-09-02 12:58:01DefiLlama /overview/fees12512/30sol-native (unmapped)origin ↗
fees_30d_usd22,259,059 usd2026-09-02 12:58:01DefiLlama /overview/fees12512/30sol-native (unmapped)origin ↗
fees_7d_usd6,347,404 usd2026-09-02 12:58:01DefiLlama /overview/fees12512/30sol-native (unmapped)origin ↗
fees_alltime_usd1,586,179,894 usd2026-09-02 12:58:01DefiLlama /overview/fees12311/30sol-native (unmapped)origin ↗
fully_diluted_valuation_usd61,909,136,279 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
inflation_foundation
⚠ ⚠ upstream-zero: 0 in every held row — foundation inflation is currently zero at origin, published as the real answer
0 rate2026-09-02 13:41:01deep_stats_solana_rpc2019/30sol-native (unmapped)origin ↗
inflation_total0.0367 rate2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
inflation_validator0.0367 rate2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
market_cap_change_24h_pct-4.1303 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
market_cap_change_24h_usd-2,464,748,875.7523 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
market_cap_rank7 rank2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
market_cap_usd
⚠ ⚠ CoinGecko coin-page reference — a market-data estimate, not a chain read
57,210,502,412 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
non_circulating_supply48,069,365.5969 SOL2026-09-02 13:23:02solana_rpc162/30sol-native (unmapped)origin ↗
onchain_total_supply633,361,722.0755 SOL2026-09-02 13:23:02solana_rpc162/30sol-native (unmapped)origin ↗
price_ath_usd293.31 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_atl_usd0.5008 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_14d_pct26.7 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_1h_pct-0.1 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_1y_pct-51.9 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_200d_pct13.8 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_24h_pct-4.1198 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_24h_usd-4.2436 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_30d_pct35.1 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_change_7d_pct0.5 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_from_ath_pct-66.6807 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_from_atl_pct19,414.607 percent2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_high_24h_usd102.49 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_low_24h_usd97.38 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
price_usd
⚠ ⚠ CoinGecko coin-page reference — a market-data estimate, not a chain read
97.73 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗
revenue_24h_usd86,661 usd2026-09-02 12:58:01DefiLlama /overview/fees12311/30sol-native (unmapped)origin ↗
revenue_30d_usd2,103,955 usd2026-09-02 12:58:01DefiLlama /overview/fees12311/30sol-native (unmapped)origin ↗
solana_absolute_slot443,710,623 slots2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
solana_block_height421,758,026 blocks2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
solana_circulating_supply585,292,345.5838 SOL2026-09-02 13:41:01deep_stats_solana_rpc1949/30sol-native (unmapped)origin ↗
solana_current_slot443,707,235 slots2026-09-02 13:23:02solana_rpc162/30sol-native (unmapped)origin ↗
solana_epoch1,027 epoch2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
solana_first_available_block
⚠ ⚠ upstream-zero: 0 in every held row — the public RPC prunes history; a real upstream answer, not a gap
0 blocks2026-09-02 13:23:02solana_rpc162/30sol-native (unmapped)origin ↗
solana_non_circulating_supply48,069,365.5969 SOL2026-09-02 13:41:01deep_stats_solana_rpc1949/30sol-native (unmapped)origin ↗
solana_slot_index46,623 slots2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
solana_slots_in_epoch432,000 slots2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
solana_total_supply633,361,711.1807 SOL2026-09-02 13:41:01deep_stats_solana_rpc1949/30sol-native (unmapped)origin ↗
solana_transaction_count544,454,899,896 txs2026-09-02 13:41:01deep_stats_solana_rpc2109/30sol-native (unmapped)origin ↗
stablecoin_supply_usd15,600,434,768.3185 usd2026-09-02 12:58:01DefiLlama /stablecoinchains12311/30sol-native (unmapped)origin ↗
total_supply
⚠ ⚠ CoinGecko coin-page reference — a market-data estimate, not a chain read
633,361,767.0235 tokens2026-09-02 12:50:20CoinGecko /coins/markets26112/30question-verified
token_supply_total
origin ↗
volume_24h_usd
⚠ ⚠ CoinGecko coin-page reference — a market-data estimate, not a chain read
3,333,856,291 usd2026-09-02 12:50:20CoinGecko /coins/markets26112/30sol-native (unmapped)origin ↗

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

Backward revisions are values upstream later replaced for a date we had already archived. The before-value is retained — that retention is the only reason a rewrite is detectable, and it is the part every overwriting vendor discards.

The ledger query ran during generation and returned 0 rows for SOL. Zero here is the live query result, not a gap — the ledger itself is at /v1/revisions.

Verify any cell yourself — the exact commands

No account, no key, no trust required. Commands 1–9 hit the same upstream endpoints our collectors do — the Solana RPC curls re-derive a value by POSTing the method that produced it, the same contract the collectors were built on; command 10 hits this estate's public API, where every row carries the same source / as_of / verify_url fields.

# 1) Epoch / height / slots / tx count — keyless, as of 2026-09-02T13:47:54Z:
# Solana mainnet JSON-RPC — re-derive epoch, height, slot index,
# absolute slot, tx count, slots-in-epoch by POSTing the method
# that produced them (same call our collector makes):
curl -s -X POST https://api.mainnet-beta.solana.com \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getEpochInfo"}' \
  | python3 -m json.tool
# 2) Supply trio (raw lamports; 1 SOL = 1e9 lamports):
# Re-derive the supply trio (total / circulating / non-circulating,
# lamports; 1 SOL = 1e9 lamports):
curl -s -X POST https://api.mainnet-beta.solana.com \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getSupply"}' \
  | python3 -m json.tool
# 3) Validators (active + delinquent, counts printed):
# Re-derive active + delinquent validator counts:
curl -s -X POST https://api.mainnet-beta.solana.com \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getVoteAccounts"}' \
  | python3 -c "import json,sys; d=json.load(sys.stdin)['result']; print(len(d['current']), 'active,', len(d['delinquent']), 'delinquent')"
# 4) Inflation rates:
# Re-derive the inflation rates:
curl -s -X POST https://api.mainnet-beta.solana.com \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getInflationRate"}' \
  | python3 -m json.tool
# 5) Cluster node count (count printed):
# Re-derive cluster node count:
curl -s -X POST https://api.mainnet-beta.solana.com \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getClusterNodes"}' \
  | python3 -c "import json,sys; print(len(json.load(sys.stdin)['result']), 'nodes')"
# 6) Market reference (CoinGecko public API):
# CoinGecko public markets API (the endpoint family our collector
# reads for the price/supply/cap rows):
curl -s -H "User-Agent: kairos-check" "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=solana" | python3 -m json.tool
# 7) Fees & revenue (DefiLlama):
# DefiLlama fees summary (24h/7d/30d/1y/all-time fees + revenue):
curl -s "https://api.llama.fi/summary/fees/solana?dataType=dailyFees" | python3 -c "import json,sys; d=json.load(sys.stdin); print('total24h:', d.get('total24h'), 'total30d:', d.get('total30d'))"
# 8) Chain TVL (DefiLlama):
# DefiLlama chain TVL (find name=Solana):
curl -s "https://api.llama.fi/v2/chains" | python3 -c "import json,sys; print([c['tvl'] for c in json.load(sys.stdin) if c['name']=='Solana'])"
# 9) Stablecoin supply on Solana (DefiLlama):
# DefiLlama stablecoin supply by chain (find Solana):
curl -s "https://stablecoins.llama.fi/stablecoinchains" | python3 -c "import json,sys; print([c for c in json.load(sys.stdin) if c['name']=='Solana'])"
# 10) This estate's public API row for SOL:
curl -s "https://kairossignal.com/v1/network/SOL" | python3 -m json.tool | head -60
Get this network as a data feed. Every number here is one API call away, with the same provenance fields. Pricing · Self-register for free $5 API credits — no card, no human · API reference. Machine-readable row for this network: /v1/network/SOL.

Method & honesty notes. All counts are queries against the live ledger at generation time, not restamped copy — this page is regenerated by gen_deep_dive_sol.py and the hourly claim_drift_check.py run grades its claims against the live API like every other published surface. Comparability grades come from the served canonical-metric system via its own resolver: at generation time exactly one held SOL series mapped — total_supply to token_supply_total (question-verified). The remaining series are Solana-native chain/market metrics with no cross-network concept; grading them would be fabrication, so they are labelled "sol-native (unmapped)". The two supply collectors reading the same RPC method are shown separately and never reconciled into one number. Where a section has no data, it is absent — we do not publish zeros for gaps.

Machine-generated 2026-09-02T13:47:54Z by propintel/gen_deep_dive_sol.py · source of truth: default.depin_catalog, default.depin_onchain, default.depin_revision_ledger (ClickHouse, live at generation) · Kairos Signal — provenance or silence.