Cardano forces every pool to charge a minimum fee of 170 ADA per epoch. No pool can set it to zero. So we charge it, then give every lovelace back to our delegators, automatically, on-chain, each time we mint a block.
GNP1 returns the entire 170 ADA minimum pool fee to its delegators every epoch we mint a block. Cardano forces every pool to charge at least 170 ADA. We charge it, then give all of it back. That makes us effectively a zero-fee pool, which the protocol otherwise doesn't allow.
At epoch 640, minting one block earned about 305 ADA (it drifts down slowly over time as Cardano's reserve depletes). After the forced 170 ADA fee, a small pool passes only about 135 ADA, roughly 44%, to its delegators.
On a large pool minting many blocks per epoch, that same 170 is spread thin and barely dents returns, which is one reason stake tends to concentrate in big pools.
To be clear: these examples assume a small pool minting one block, which is typical for pools in the roughly 500k to 1M ADA range. In an epoch where such a pool gets lucky and mints two or more blocks, the 170 fee becomes a smaller share of a larger total reward, so the refund's proportional impact is smaller. We do not over-promise: the benefit is clearest on the single-block epochs that make up most of a small pool's life.
Everyone delegating to GNP1, in proportion to their stake, every epoch we mint a block. The full 170 ADA is split by stake weight.
The one limit is technical. Cardano cannot send a payment smaller than about 1 ADA (the network's minimum output). So if your proportional share would be under 1 ADA, it is impossible to pay you that epoch. The 170 is divided among the delegators whose share reaches at least 1 ADA.
Over time, yes, per ADA staked. Here's the honest reasoning:
Cardano pays rewards in proportion to stake, so pool size gives no advantage on the rate of return. What separates pools is fees. Any pool that keeps a fee or margin skims a little off every reward. GNP1 keeps nothing, 0% margin, and the 170 fee refunded in full.
Luck (block variance) affects every pool and averages out over time. It is noise, not an advantage. Once it settles, what is left is the fee difference. So a GNP1 delegator earns more per ADA than at any pool that keeps a fee, by exactly the amount that pool retains. It is not "we might get lucky and win." With fees stripped out, there is simply nothing leaking.
Honestly, survival. We have run a zero-fee model before, and it worked: it helped us grow our stake to over 2.5M ADA at its peak. It is a proven way for a small pool to earn the trust and stake it needs.
Lately it has become much harder. The prolonged bear market, waning general interest in crypto, and a large amount of "sticky" stake sitting in retired or non-functional pools (delegators who have simply stopped paying attention) have all made stake far harder to attract. Our own stake has fallen to around 600k ADA, and rebuilding it is essential for the pool to keep operating and minting blocks. Returning the entire fee is the strongest, fairest incentive we can offer to earn delegators back.
Things outside anyone's control can affect any pool, including ours: network outages, node or hardware failures, missed blocks. Rewards also vary with luck and overall network conditions.
Concretely for this scheme: in any epoch we don't mint a block, there's no fee earned and so no refund that epoch. And payments whose share falls under ~1 ADA can't be made. None of this is unique to GNP1, it's the reality of running on a live blockchain.
Yes. We reserve the right to end or change the zero-fee structure at any time, for any reason. In particular, if our stake grows large enough that we no longer need this incentive, we will likely wind it down.
This is a voluntary refund of our own pool income, not a contract, a guarantee, or an obligation. We'll always aim to be upfront about any change here.
No. It's a voluntary refund of our own pool income, not an investment, a guaranteed yield, or a financial promotion. Nothing here is advice. Always do your own research before delegating to any pool, including this one.
Loading gnp1_rebate_public.py …