Grass (GRASS) — the network, measured

Generated 2026-10-12T04:43:51Z from live ClickHouse queries against this estate's ledger. Held inventory: 29,313 observations · 35 distinct series · 3 upstream sources · first row 2026-08-09 17:15:20 · newest row 2026-10-12 03:51:55 · 29,313/29,313 rows carry a verify_url. 35 series refreshed in the last 24h (620 fresh rows). Nothing on this page is cached, estimated, or remembered.

What this page is. One network — Grass, the bandwidth-sharing DePIN network whose users earn GRASS for contributing unused internet capacity (catalog category other) — packaged as a read-only product page. Figures from the network's own public stats endpoint are withdrawn (2026-09-25; see the network-telemetry note below); the token lives on Solana (Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs) and its on-chain supply and account concentration are read from the public JSON-RPC; the market reference comes from the CoinGecko coin page. This page reports what those endpoints 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 account-vs-owner concentration distinction and the market-vs-chain supply split are declared below.

Provenance — where every number 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.

SourceRows heldSeriesRows w/ verify_url Window (UTC)Sample origin
CoinGecko /coins/markets28,2422428,2422026-08-09 17:15:20 → 2026-10-12 03:51:55sample origin ↗
solana_rpc58145812026-08-09 23:12:54 → 2026-10-12 00:00:02sample origin ↗
geckoterminal_dex49074902026-09-25 00:47:52 → 2026-10-12 00:54:15sample 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_usd0.8612 usd▁▁▁▁▁▁▁▂▂▂▃▃▃▄▅▅▅▅▆▆▆▆▆▆▅▅▅▆██30+160.3%2026-09-12 → 2026-10-12 via CoinGecko /coins/markets · origin ↗
market_cap_usd602,496,631 usd▁▁▁▁▁▁▁▂▂▂▂▃▃▄▄▅▅▅▆▆▆▆▆▆▅▅▅▆██30+168.9%2026-09-12 → 2026-10-12 via CoinGecko /coins/markets · origin ↗
volume_24h_usd78,103,640 usd▁▁▂▂▂▂▂▂▂▅▅▃▃▇▇▇██▄▄▃▄▄▄▄▅▃▂▆█30+832.9%2026-09-12 → 2026-10-12 via CoinGecko /coins/markets · origin ↗
circulating_supply699,492,325 tokens▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████████████30+3.3%2026-09-12 → 2026-10-12 via CoinGecko /coins/markets · origin ↗
total_supply1,000,000,000 tokens▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁30+0.0%2026-09-12 → 2026-10-12 via CoinGecko /coins/markets · origin ↗
max_supply1,000,000,000 tokens▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁30+0.0%2026-09-12 → 2026-10-12 via CoinGecko /coins/markets · origin ↗
fully_diluted_valuation_usd861,334,156 usd▁▁▁▁▁▁▁▂▂▂▃▃▃▄▅▅▅▅▆▆▆▆▆▅▅▅▅▆██30+160.3%2026-09-12 → 2026-10-12 via CoinGecko /coins/markets · origin ↗
onchain_total_supply999,992,802.358 tokens█████████████▅▄▃▃▃▃▂▂▂▂▂▁▁▁▁▁▁▁31-0.0%2026-09-12 → 2026-10-12 via solana_rpc · origin ↗

Market reference — CoinGecko coin page, as held

Market-data reference rows: price, supply, capitalisation, diluted valuation, and the published change columns including ATH/ATL. These are the coin-page reference's own numbers — the estate does not model, smooth, or forward-fill them. circulating_supply here is a market-data figure; the chain's own supply read is in the on-chain block below and the two are never merged.

MetricLatestAs of (UTC)Verify
circulating_supply699,492,325 tokens2026-10-12 03:51:55origin ↗
fully_diluted_valuation_usd861,334,1562026-10-12 03:51:55origin ↗
market_cap_change_24h_pct29.6983 percent2026-10-12 03:51:55origin ↗
market_cap_change_24h_usd137,959,4802026-10-12 03:51:55origin ↗
market_cap_rank107 rank2026-10-12 03:51:55origin ↗
market_cap_usd602,496,6312026-10-12 03:51:55origin ↗
max_supply1,000,000,000 tokens2026-10-12 03:51:55origin ↗
price_ath_usd3.892026-10-12 03:51:55origin ↗
price_atl_usd0.16682026-10-12 03:51:55origin ↗
price_change_14d_pct32.1231 percent2026-10-12 03:51:55origin ↗
price_change_1h_pct0.744 percent2026-10-12 03:51:55origin ↗
price_change_1y_pct75.2377 percent2026-10-12 03:51:55origin ↗
price_change_200d_pct115.5645 percent2026-10-12 03:51:55origin ↗
price_change_24h_pct29.685 percent2026-10-12 03:51:55origin ↗
price_change_24h_usd0.19712026-10-12 03:51:55origin ↗
price_change_30d_pct163.6037 percent2026-10-12 03:51:55origin ↗
price_change_7d_pct25.2933 percent2026-10-12 03:51:55origin ↗
price_from_ath_pct-77.8728 percent2026-10-12 03:51:55origin ↗
price_from_atl_pct416.3801 percent2026-10-12 03:51:55origin ↗
price_high_24h_usd0.88582026-10-12 03:51:55origin ↗
price_low_24h_usd0.66212026-10-12 03:51:55origin ↗
price_usd0.86122026-10-12 03:51:55origin ↗
total_supply1,000,000,000 tokens2026-10-12 03:51:55origin ↗
volume_24h_usd78,103,6402026-10-12 03:51:55origin ↗

Network telemetry — api.getgrass.io networkStats, withdrawn

Network stats withdrawn (2026-09-25). The series this page read from api.getgrass.io networkStats (unique IP addresses, country count, daily GB collected with its multimodal / text split, indexed URLs, downloaded frames, tokens collected) are no longer published (quality incident grass_networkstats_frozen_snapshot_20260925). The endpoint returns a frozen snapshot with no timestamp of its own (its daily-GB and IP-address values are identical in the Internet Archive capture of 2024-11-29), and our collector stamped each read with its own clock, so every row presented the same snapshot as a new observation. An earlier version of this page read them as live network telemetry; that reading was wrong.

On-chain token — Solana mainnet, as held

The GRASS SPL mint (Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs) read from Solana public JSON-RPC: getTokenSupply for total supply, getTokenLargestAccounts for account concentration. Holder-concentration series last reported 2026-08-28 (the public RPC applies a strict per-method quota to that call); supply reads are current. Every row keeps its own as-of stamp — nothing is forward-filled to today.

MetricLatestAs of (UTC)Rows heldVerify
onchain_top10_holder_pct
⚠ ACCOUNT concentration (getTokenLargestAccounts), not owner concentration
50.9106 pct2026-10-12 00:00:02105origin ↗
onchain_top1_holder_pct
⚠ ACCOUNT concentration (getTokenLargestAccounts), not owner concentration
25.1665 pct2026-10-12 00:00:02105origin ↗
onchain_top20_holder_pct
⚠ ACCOUNT concentration (getTokenLargestAccounts), not owner concentration
60.8864 pct2026-10-12 00:00:02105origin ↗
onchain_total_supply999,992,802.358 tokens2026-10-12 00:00:02266origin ↗

Full metric inventory — 35 measured series, each with provenance

Every series held for GRASS 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
circulating_supply
⚠ ⚠ CoinGecko coin-page reference — a market-data figure, not a chain read; the chain read is onchain_total_supply
699,492,325 tokens2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
dex_gt_liquidity_top_pair_usd648,604.3264 usd2026-10-12 00:54:15geckoterminal_dex7018/30grass-native (unmapped)origin ↗
dex_gt_liquidity_usd1,615,431.5927 usd2026-10-12 00:54:15geckoterminal_dex7018/30grass-native (unmapped)origin ↗
dex_gt_pair_tx_count_24h42,590 count2026-10-12 00:54:15geckoterminal_dex7018/30grass-native (unmapped)origin ↗
dex_gt_pair_volume_24h_usd2,710,690.4061 usd2026-10-12 00:54:15geckoterminal_dex7018/30grass-native (unmapped)origin ↗
dex_gt_pairs_active20 count2026-10-12 00:54:15geckoterminal_dex7018/30grass-native (unmapped)origin ↗
dex_gt_top_pair_share_pct40.1505 pct2026-10-12 00:54:15geckoterminal_dex7018/30grass-native (unmapped)origin ↗
dex_gt_venues_active6 count2026-10-12 00:54:15geckoterminal_dex7018/30grass-native (unmapped)origin ↗
fully_diluted_valuation_usd861,334,156 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
market_cap_change_24h_pct29.6983 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
market_cap_change_24h_usd137,959,480 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
market_cap_rank107 rank2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
market_cap_usd602,496,631 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
max_supply1,000,000,000 tokens2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
onchain_top10_holder_pct
⚠ ⚠ ACCOUNT concentration from getTokenLargestAccounts (20 largest token accounts, not owners — pools/treasuries/exchanges each count as one); an upper-bound proxy for owner concentration
50.9106 pct2026-10-12 00:00:02solana_rpc8522/30grass-native (unmapped)origin ↗
onchain_top1_holder_pct
⚠ ⚠ ACCOUNT concentration from getTokenLargestAccounts (20 largest token accounts, not owners — pools/treasuries/exchanges each count as one); an upper-bound proxy for owner concentration
25.1665 pct2026-10-12 00:00:02solana_rpc8522/30grass-native (unmapped)origin ↗
onchain_top20_holder_pct
⚠ ⚠ ACCOUNT concentration from getTokenLargestAccounts (20 largest token accounts, not owners — pools/treasuries/exchanges each count as one); an upper-bound proxy for owner concentration
60.8864 pct2026-10-12 00:00:02solana_rpc8522/30grass-native (unmapped)origin ↗
onchain_total_supply
⚠ ⚠ Solana getTokenSupply read — the mint's own figure; differs from CoinGecko's total_supply reference row by design
999,992,802.358 tokens2026-10-12 00:00:02solana_rpc12331/30grass-native (unmapped)origin ↗
price_ath_usd3.89 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_atl_usd0.1668 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_14d_pct32.1231 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_1h_pct0.744 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_1y_pct75.2377 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_200d_pct115.5645 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_24h_pct29.685 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_24h_usd0.1971 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_30d_pct163.6037 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_change_7d_pct25.2933 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_from_ath_pct-77.8728 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_from_atl_pct416.3801 percent2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_high_24h_usd0.8858 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_low_24h_usd0.6621 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
price_usd0.8612 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗
total_supply1,000,000,000 tokens2026-10-12 03:51:55CoinGecko /coins/markets66430/30question-verified
token_supply_total
origin ↗
volume_24h_usd78,103,640 usd2026-10-12 03:51:55CoinGecko /coins/markets66430/30grass-native (unmapped)origin ↗

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

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 GRASS. 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–3 hit the same upstream endpoints our collectors do (the solscan.io and coingecko.com browser pages 403 plain curl, so the programmatic endpoints are given); command 4 hits this estate's public API, where every row carries the same source / as_of / verify_url fields.

# 1) The network's own stats endpoint — keyless. Its figures are withdrawn from this page
#    (quality incident grass_networkstats_frozen_snapshot_20260925: a frozen snapshot
#    with no timestamp of its own); the command shows what it serves:
curl -s -H "User-Agent: kairos-check" "https://api.getgrass.io/networkStats?input=%7B%22cluster%22%3A%22mainnet%22%7D" | python3 -m json.tool
# 2) Solana mainnet RPC — the chain's own supply figure:
# Solana mainnet public JSON-RPC — getTokenSupply for the GRASS SPL mint
# (the endpoint family our solana_rpc collector reads):
curl -s -X POST "https://api.mainnet-beta.solana.com" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getTokenSupply","params":["Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs"]}' | python3 -m json.tool
# 3) Market reference (CoinGecko public API):
# CoinGecko public markets API (the endpoint family our collector
# reads for the price/supply/cap rows):
curl -s "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=grass" | python3 -m json.tool
# 4) This estate's public API row for GRASS:
curl -s "https://kairossignal.com/v1/network/GRASS" | 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/GRASS.

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_grass.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: total_supply maps to token_supply_total (question-verified). The remaining series are Grass-native network/market metrics with no cross-network concept; grading them would be fabrication, so they are labelled "grass-native (unmapped)". The networkStats series, with their naming generations (bare names vs *_total) and unit generations, are withdrawn (quality incident grass_networkstats_frozen_snapshot_20260925) and are not shown. Holder-concentration figures measure token ACCOUNTS, not owners. Where a section has no data, it is absent — we do not publish zeros for gaps.

Machine-generated 2026-10-12T04:43:51Z by propintel/gen_deep_dive_grass.py · source of truth: default.depin_catalog, default.depin_onchain, default.depin_revision_ledger (ClickHouse, live at generation) · Kairos Signal — provenance or silence.