Loading Grin network data…

— peers · — countries $— · ₿— |
Block Height
Network Hashrate
Difficulty
Coin Supply
Issuance Rate
Connected Peers
Network Hashrate (GPS)

What is GPS?

Graphs Per Second — the estimated rate at which miners find valid Cuckoo Cycle graph solutions (C32 proofs of work). Higher GPS = more mining power securing the network.

How it's calculated

Derived from the per-block difficulty delta and the Cuckatoo32 solution rate: GPS = diff_delta × 42 / block_time / 16384, where 42 is the Cuckoo cycle length and 16384 (= 32 × 2⁹) is the C32 solution rate. The stats collector polls the node every ~5 min and stores daily/hourly/recent aggregates.

Data source

Local Grin node API — block header difficulty, sampled every ~5 min by the stats collector.
Network Difficulty

What is difficulty?

The Cuckatoo32 proof-of-work difficulty — a unitless number representing how hard it is to find a valid block solution. Adjusts after every block to maintain a ~60-second block time.

Adjustment algorithm

Grin uses LWMA (Linear Weighted Moving Average) over a ~60-block window. More recent blocks have higher weight, making the adjustment fast and smooth without wild oscillations.

Data source

Local Grin node API — block header difficulty, sampled every ~5 min by the stats collector.
Block Activity

What's shown

Transactions per block — kernel count from block headers (a lower bound: Grin supports CoinJoin-style aggregation, so multiple user transactions may merge into one kernel).
Fees per block — total transaction fees in nano-Grin (1 GRIN = 1,000,000,000 nGrin).

Data source

Local Grin node API — block headers imported by the stats collector. Run --backfill-stats to populate history.
Mempool Size

What is the mempool?

The pool of transactions waiting to be confirmed in the next block. On Grin this usually sits near zero — blocks aren't congested — so a spike means a sudden burst of activity.

Why it matters

A live pulse of how busy the network is right now, and whether a payment you send might wait for the next block or two.

Data source

Local Grin node Foreign API (get_pool_size), sampled every ~5 min. The node only knows its current pool, so this chart builds forward from when tracking began — there's no historical mempool to backfill.
Kernels & Outputs

What's shown

Kernels — every Grin transaction permanently leaves one cryptographic "kernel" (a receipt that it happened, even though amounts and addresses stay private). The total is the all-time count of transactions ever settled on-chain.
Outputs — the total number of transaction outputs (coin bundles) ever committed to the chain.
Unspent (UTXO) — how many of those outputs are currently unspent — the live "coins in circulation" set. Far smaller than total outputs because Grin's cut-through permanently removes spent ones.

Why it matters

The kernel line is the clearest on-chain measure of cumulative real usage — a steadily rising curve means the network is actually being used. Total outputs track chain growth; the UTXO set tracks the live state size (and how lean cut-through keeps it).

Data source

Kernels & total outputs: each block header's kernel_mmr_size / output_mmr_size (converted to leaf counts), charted since genesis (run --backfill-mmr once to populate older points). UTXO set: counted by paginating the node's get_unspent_outputs (same method grincoin.org uses); it's a live count, so that line builds forward from when sampling began.
Active Peers / Countries

What's shown

The number of distinct Grin peers this monitoring node has seen in the last 30 days — both peers with a live TCP connection and peers learned from the routing table. We only retain peer data for 30 days, so this is a rolling 30-day count, not a live connection count or a census of the full network. Mainnet and Testnet are tracked separately.

Sampling

Sampled every ~5 min: live peers via v2/owner → get_connected_peers plus routing-table peers via get_peers (Healthy only), de-duplicated by IP into a rolling 30-day window (older entries fall out of the count). The Countries line counts the distinct countries hosting a node (mainnet + testnet combined, matching the header and Top 10 Countries card) at each sample — a network-decentralisation trend that builds forward from when tracking began (earlier history isn't backfilled). It overlays on a separate right-hand axis and toggles on/off independently of the Mainnet/Testnet selector. The Peer Map tab gives the broader global view — it uses the full routing table (get_peers) to discover and geolocate nodes worldwide.

Note

Movement is normal — the count rises as new nodes are seen and eases as nodes drop off the 30-day window. A sustained decline may indicate network issues or a falling node count.
Top 10 Version Distribution

What's shown

Distribution of Grin node client versions among peers connected to this monitoring node — a live snapshot of software adoption across the network.

How it works

Version strings are taken verbatim from the user_agent each peer reports during the Grin P2P handshake, via v2/owner → get_peers (routing-table query, Healthy peers only). Every named peer is kept; gossiped addresses that never handshaked (blank agent) are excluded. Counts cover both mainnet and testnet combined; use the timeframe toggle to switch the window — Week / Month count live peers; Year counts distinct nodes active in the past 365 days; All Time counts every distinct node ever seen (cumulative reach — it builds forward, so it starts small, grows over time, and matches Year until a full year of history has accrued).

Note

Only peers directly connected to (or known to) this monitoring node are counted, so the total can be lower than the map's "Total peers". Peers running behind NAT or not reachable may be under-represented.
peers
Top 10 Countries

What's shown

The countries hosting the most Grin nodes — a ranking of where peers connected to this monitoring node are physically located.

How it works

Each peer's IP is geolocated via ip-api.com and grouped by country across both mainnet and testnet. Use the timeframe toggle to switch the ranking window: Week / Month count distinct peers seen live; Year counts distinct nodes per country active in the past 365 days; All Time counts every distinct node ever seen per country (cumulative reach — it builds forward, so it starts small, grows over time, and matches Year until a full year of history has accrued). The top 10 countries are shown individually; everything else is summed into Other countries.

Note

Geolocation is approximate, and peers behind VPNs or NAT may be attributed to the exit country rather than the operator's.
Market Cap
circulating supply × price
24h Volume
·
Gate.io (USD) · CoinGecko (BTC)
24h Change
USDT · BTC
Price · USD / BTC
·— sat
Grin Price · USDT Gate.io

What's shown

GRIN/USDT closing price with volume bars. USDT (Tether) is a USD-pegged stablecoin — this chart is effectively the GRIN USD price on the Gate.io exchange.

Data source

Gate.io GRIN/USDT — OHLCV candles fetched by the price collector, stored locally in SQLite, and refreshed every ~5 min.
Grin Price · BTC (sats) CoinGecko

What's shown

GRIN price expressed in satoshis (1 sat = 0.00000001 BTC) — useful for measuring GRIN's value relative to Bitcoin independent of USD price movements.

Data source

CoinGecko — GRIN/BTC rate fetched as live snapshots. History is built incrementally over time from the first run of the stats collector.

Earlier history came from nonlogs.io, which ran the last native GRIN/BTC order book until it went offline in July 2026. No GRIN/BTC market remains, so the rate is now an aggregate: CoinGecko converts the GRIN tickers it tracks (in practice almost entirely Gate.io GRIN/USDT) into BTC. Expect a small discontinuity at the changeover, and no bid/ask or 24h high/low for this pair.

Supply Issuance Rate New supply ÷ existing stock · log scale · GRIN & BTC projected to 2050

What this is — and what it is not

This chart shows supply issuance rate: how fast new units enter circulation relative to the existing stock (new_units / total_supply × 100). It is the same concept applied across four different assets.

This is not price inflation (CPI). CPI measures how fast consumer prices rise — a downstream effect shaped by demand, velocity, and many other factors. Supply issuance rate is the upstream cause: how aggressively an asset is being diluted. A high issuance rate can contribute to price inflation, but the two are distinct metrics. USD M2 and Gold are included here as the monetary-supply equivalents for comparison — not as price-level indicators.

Formulas

GRIN1 GRIN/second constant emission since mainnet (Jan 15 2019). Rate = 31,557,600 / supply_at_jan1 × 100. Projected to 2050 (~3.2% by then).
BTC — deterministic halving schedule (halvings every ~4 years). Rate = block_subsidy × blocks_per_year / supply_at_jan1 × 100. Projected to 2050 via estimated halving timestamps.
USD M2 — annual % change in US broad money stock using annual averages (World Bank methodology): average M2 level of year N vs average of year N−1. This differs from the Fed's Dec→Dec measure — e.g. 2023 shows ~+1.8% here vs ~−3% Dec→Dec, because M2 was still elevated early in 2023.
Gold — mine production ÷ estimated above-ground stock (~190,000 t base in 2000).

Data sources

GRIN & BTC: deterministic emission math — no external API needed.
USD M2: World Bank — FM.LBL.BMNY.ZG (US broad money growth %, annual average basis). Data lags ~12 months. Only truly negative years are absent from the log-scale chart.
Gold: World Gold Council mine production statistics.

API

This data is publicly available via our API — other sites are welcome to consume it:
/api/issuance — returns grin[], usd_m2[], gold[] arrays, each entry {year, rate_pct}.
GRIN & BTC: deterministic emission — projected to 2050 USD M2 · Gold: ends at last available data year · USD M2 uses annual-average basis (World Bank) ── actual  ·  - - projected (GRIN & BTC)

Grin (ツ) Network Statistics

Live monitoring of the Grin MimbleWimble blockchain. Track real-time network hashrate (graphs per second, GPS), mining difficulty (Cuckatoo32, LWMA adjustment), block height, coin supply, transactions per block, fees, and active peer count across mainnet and testnet.

The Supply Issuance Rate chart compares annual new-supply growth across Grin (constant 1 GRIN/second emission), Bitcoin (halving schedule, projected to 2050), USD M2 (US broad money supply growth, World Bank data), and Gold (mine production ÷ above-ground stock). This is monetary supply dilution — distinct from CPI price inflation.

All data is available via a free public JSON API — CORS enabled, no authentication required. Built with the open-source Grin Node Toolkit.