Please help support our pool GrahamsNumberPlus1 (GNP1) by delegating to us!
Pool Saturation Monitor
Cardano pools approaching or exceeding saturation deliver diminished rewards to delegators.
This page shows pools at 50%+ saturation so you can make informed delegation decisions.
Oversaturated Pools
—
≥ 100% saturation
Critical
—
95% – 99.99%
Saturation Threshold
—
k Parameter (nOpt)
—
Target pool count
Total Stake (k base)
—
45B − reserves
Stake Snapshot Epoch
—
Partial snapshot: db-sync has not finished writing this epoch's stake snapshot,
so every stake figure below is computed from a fraction of the delegation rows and will rise as
the rest land. Treat the counts as a lower bound until this notice clears.
Partial counts: the pool list has hit its row cap, so the Oversaturated and
Critical counts above are lower bounds rather than totals.
How saturation is calculated:saturation_threshold = (max_supply − reserves) / k where max supply is 45B ADA,
reserves come from db-sync's ada_pots table, and k (nOpt) from epoch_param.
Each pool's saturation % = (pool_stake / saturation_threshold) × 100.
(max_supply − reserves) is the ledger's total stake, not circulating supply —
it still contains the treasury and undistributed rewards.
Pool stake: Sum of all epoch_stake rows for the pool in the newest
completed snapshot that is not in the future — the snapshot for the epoch the chain is in
(includes pledge + delegations). Two guards are needed. Completeness comes from
epoch_stake_progress: db-sync pre-populates the next epoch's snapshot progressively while
the current epoch runs, so reading the highest epoch_stake epoch directly would sum a
partially written future snapshot and under-report every pool. Capping that at the chain epoch is the
second: the newest completed snapshot is the one that becomes active next epoch, and
using it put pools in the wrong status band. Active vs live stake: The stake column is active stake — the snapshot the
protocol is paying rewards on right now, which is what explorers show as active stake — not a live,
second-by-second delegation total. It moves at epoch boundaries, not continuously, so a delegation
change made this epoch will not appear here until the next boundary. Max supply: Derived from ada_pots rather than hardcoded. Every lovelace
sits in exactly one pot, so the columns sum to the 45B maximum supply by construction; the page checks
that sum each time instead of taking the constant on trust. Saturation threshold: Dynamically calculated each epoch from on-chain data — not a fixed number. Impact: Pools above 100% still produce blocks, but total rewards are capped at the saturation level.
Additional stake above that point dilutes rewards among more delegators without increasing the total payout. Retirement filter: Truly retired pools are excluded using on-chain certificate
ordering and the retirement epoch. A retirement certificate names a future epoch, so a pool
that has merely announced one is still listed until that epoch arrives.
Caveat: Saturation is computed from the stake snapshot for
the current epoch, the one the protocol is paying rewards on right
now — the same figure explorers show as active stake. Stake moves at epoch boundaries, not continuously,
so a delegation change made this epoch will not appear here until the next boundary. Reserves and k come
from that same epoch.
Always cross-check with cardanoscan.io
or pool.pm before taking action.
For fuller metrics on any pool listed here, see the
GNP1 Delegator Tool (our own tool).
Click any row for full pool details and explorer links.
Status labels:Oversaturated = ≥100% (rewards are actively diminished);
Critical = 95–99.99% (very close to saturation);
High = 80–94.99% (approaching saturation);
Healthy = 50–79.99%.
If your pool is oversaturated, consider redelegating to a smaller pool to maximise your rewards.
Ticker confidence: a normal ticker is current, its metadata fetched
and matched against the pool's latest on-chain registration. A greyed ticker is last known,
carried over from an earlier registration and possibly out of date. A greyed, shortened pool ID means the ticker
is unavailable (the current metadata could not be retrieved) or that the pool has
no registered metadata at all.
Before you use these results. These results may contain mistakes. This page is
maintained by one person. If your pool is listed here and you believe the figure is wrong, or it
disagrees with an independent explorer, treat the explorer as authoritative and tell us via the chat
widget on this page. We will look into it and correct it. This page previously read the stake snapshot
one epoch ahead of the chain, which labelled some pools oversaturated that were not; that is fixed, and
we would rather hear about the next one early.