A Sobering Reality for Cardano Stake Pool Operators & Owners

First, operating a private stake pool will help the network.

Another option in supporting the network is operating a relay node, does not sign blocks, freeing you up to maximize your Ada, like everyone else.

By maximizing your returns, you also support how Cardano is meant to operate by rewarding your effort. Cardano is one of the soundest I have ever seen, in this alignment between maximizing returns and supporting the network.

Don’t think of it as an all or nothing, a relay node will allow you to do both.



@Donnybaseball @Adaizen; thx for the reply, will definitely support the network with a private pool or relay node.

Nice wall of speculation. Doesn’t answer my very simple question even a bit.

I said: show me where you got the idea that pools under some baseline won’t be displayed in wallets?

It matters for your assumption that all wallets will act in absolutely similar manner.

I wonder if setting the pool fees between 0 and 1 would help increase desirability.

More importantly, how desirability would respond to let’s say 0.9% fees vs 0.75% if the function is exponential, you may gain in desirability at the expense of profits.

Another thing:

Can smart contract addresses run stake pools? If so I can see how a smart contract with multisig wallet could be used to augment the pledged stake. Say you want to run a pool but don’t have resources to pledge 5%.

You open a smart contract that collects stakes from your supporters and pledges it to your pool. They become your partners so to say. To commit a pledge, all participants must agree on validity period. And the contract can be annulled by any party at any time.

I understand this would dilute Sybil resistance to a degree so maybe it won’t be possible. Just trying to think of solutions.

I don’t know from what universe you get your math, but not from this one for sure, because your calculations are closer to random results.



  1. c - cost in ADA (int)
  2. m - fee margin (float [0-1])
  3. s - leader pledge relative to total stake (float [0-1])
  4. p - apparent pool performance (float [0-1+))
  5. z0 - desirability constant (1/k, float)
  6. a0 - pledge significance constant (float, [0-1])
  7. R - total reward for epoch in ADA (int)

If we assume:

  1. R = 10'000'000 (because reserve decrease of 5% per year will give ~700M inflation in year 1, and there are 73 epochs per year, so simplified and rounded).
  2. z0 = 0.001 (because 1/1000)
  3. a0 = 0.25 (just speculated value from example posts)
  4. p = 1 (apparent performance might fluctuate to be lower or higher than 1, but should always stay closely to 1 for a properly operating pool)
  5. c = 1000 (just for simplicity cost will be the same for all pools - 1000 ADA)

Now we can check different values of M and S (fee margin and leader pledge):

Example 1: pool with pledge of 10% of saturation and fee of 5%

f(s,p) = f(0.0001, 1)
= (1*10M) / ( 1 + 0.25 ) * (0.001 + min(0.0001, 0.001) * 0.25)
= 10M / 1.25 * (0.001 + 0.0001 * 0.25)
= 8M * (0.001 + 0.000025)
= 8M * 0.001025
= 8200

d(c,m,s,p) = d(1000, 0.05, 0.0001, 1)
= (8200 - 1000) * (1 - 0.05)
= 7200 * 0.95
= 6840

10% of saturation at total stake of 30B (for simplicity) means 3M ADA. So a pool with 3 million ADA pledged and delegation fee of 5% will have desirability of 6840.

Example 2: pool with NO pledge, but fee of 2%

f(s,p) = f(0, 1)
= (1*10M) / ( 1 + 0.25 ) * (0.001 + min(0, 0.001) * 0.25)
= 10M / 1.25 * (0.001 + 0 * 0.25)
= 8M * 0.001
= 8000

d(c,m,s,p) = d(1000, 0.02, 0, 1)
= (8000 - 1000) * (1 - 0.02)
= 7000 * 0.98
= 6860

Pool with no pledge at all but with delegation fee of 2% will have desirability of 6860, which is higher than previous example.

Therefore pool with fee of 2% but at least SOME small pledge will be ranked even higher than both of them.

And even more than this, all this ranking is used for is this:

It determines how pools will be SORTED in wallets. That’s all. Daedalus and Yoroi will always display ALL existing non-private pools. SORTED by their desirability.

I mean, desirability literally CANNOT be negative
Says it right here :point_up_2:

If rewards are lower than cost C - it’s fixed at zero.
And m is always in range [0-1] so none of multipliers can become negative.

You have shown zero work for your numbers too, you just came up with them, with no proof.

Please remove the article (not the forum post) and post explanation that it was a mistake.


@Adaizen I have a question maybe you can help me with. If IOHK is running 80 pools as indicated, and they have 2.4 billion Ada, the scenario exists where IOHK can run 80 pools with 30 million Ada each.

Do you know how this will impact the desirability of personally run pools like my own? Like will they get the top 80 spots of real estate in the wallet? (nobody scrolls down that much). Or will the saturation point likely neutralize the IOHK whale advantage?

What if Emurgo runs their endowed Ada on stake pools as well? I understand that 1000 is still equal to 1000, but the startup of the personally owned pools will be an interesting challenge when competing with heavily Ada endowed IOHK, Emurgo (and CF?).

The 80 IOHK pools will all be at maximum saturation and also private, which means they will not be displayed in wallets that follow the spec at all. Out of 80 pools they might have 1 or 2 public and open. But having 2 would mean they pretty much lose profits.

1 Like

This all seems rather strange now, but thanks for the explanation Ruslan. Will the private IOHK pools still receive staking rewards? What do you mean they will lose profits?

Do you know how Emurgo plans to stake?

Can anyone run a ‘private’ pool?

Yes, a private pool means: no meta data provided. (meta data is provided by an url to a json file if I remember it right) Wallets will ignore those pools and not list them.

1 Like

I want to point out something that @vantuz-subhuman said already, but may not be crystal clear to everyone: desirability is not something the protocol defines - its calculated by the wallets.

For example if I’m releasing a fancy ADAtainment wallet and list the ADAtainment pool on top of all pools, that would be really nasty :grin:, but possible. Other wallets could basically sort pools by some other metric, if they find something that makes (more) sense.

1 Like

I don’t even think it would be that nasty, tbh. Getting funding for open-source non-commercial projects is an eternal problem. If some team produces a really good software wallet with their own delegation centre, and at the top of the list they display their own pool (with honest metrics, tho) - I think it would be pretty ok. Especially if it’s specially formatted and designed to look like a promotion and asking to support the team by choosing this pool.

If they display pools with false metrics, making it to look like their pool has way higher desirability - then it’s nasty.


  1. Private pool just means it should not (by spec) be shown in the delegation centre in wallets. Anyone can create a private pool just by not providing meta-information for it. Anyone else still can delegate to them, if they find the ID of such a pool somehow (for example, from an explorer). But most of private pools supposed to have margin fee of 100%, meaning that even if someone else delegates to them - they will not receive delegation rewards.

As @adatainment rightly noted - any other wallet developer still can list any pools thy want, even private ones, spec just asks them not to do this. Other wallet creators may do whatever they want actually, e.g. - list only their own pools, etc.

  1. I mean basically there’s no rational point in having multiple public pools with some pledge, because you will have higher profits by putting all your pledge in one pool. For example, lets imagine you have 50 million ADA, and current saturation point is 20 million - the most rational way for you would be to create two fully saturated closed pools with 20 million pledge each, because they would receive maximum possible reward. And then you are left with 10 millions ADA, and if you decide to create 2 pools with 5 millions pledge each - you will receive less profits than by creating one pool with 10 million stake.

  2. Emurgo most probably will be running pools in the similar scheme with IOHK - multiple closed pools and 1 or few open public pools. But that’s not definite, just speculating.

So a wallet can as well be designed for the user to set criteria’s for sorting right? As long as the user is in power in what he/she will look for and not a mindless sheep or have to scroll through 1000’s pools to find the pool they want (search function would be nice btw) then I do not see the big problem here.

Wallets can do whatever they want, yes. But they are also very welcomed to follow the spec. “Official” wallets will follow the spec for default sorting, meaning that any other kind of sorting might be added as well: by name, by fee, by cost, by date added, etc. Sorting by desirability is merely the default view that recommends to user pools that will be most profitable for them. And it’s an honest calculation - it’s literally just the best game-theoretic research targeted specifically to help user to look for the best potential pool to delegate to, when all other metrics are the same (reputation, etc). But user is free to do whatever.

Search is planned too, of course.

Well, you do get a (proportionally) way bigger payout when you do happen to be chosen. Meaning you didn’t have to invest nearly as much as a whale did, yet you receive the same amount/event.

The point of 1000 desired stake pools is in the fact that pools can’t get bigger than 1/1000th of the total stake, otherwise they just lose profit. You can’t have 20 big pools with 80% of the supply. That’s the whole point, “desired number of pools” is not just a meaningless number they came up with, the whole research is about it.


This information is false. Please explain to me what “getting selected” means in your understanding in Cardano, and why would smaller pools receive the same amount?

The reward per epoch is fixed – let’s say X. The way whales stand to gain more via staking is by being selected more often by the protocol. People holding less ADA have a lower chance to be selected. However, when they are selected, that X represents a larger chunk of their stake than it does in the case of a whale. That’s all I meant, maybe I phrased my idea awkwardly.

Sorry, but this doesn’t make much sense. If I’m guessing right you mean something like each pool would get paid the same reward for producing a block - that’s not the case. All pools will always receive rewards proportional to their stake, which will on average always correlate with the number of blocks they produce.

It may very well be that I have a skewed understanding of the staking process, I’m not denying that at all.

What I thought @Micro86 was trying to say was that it didn’t make sense to stake if you have a very small amount of ADA. So if you have 100 ADA – well, go home, so to speak. I was simply trying to make the point that yo still have a chance to be chosen by the protocol and when that happens you would get a reward that would constitute a higher percentage of your staked ADA, than in the case of a whale. That’s it. But that’s based on an idea that the reward is constant and the only way whales are advantaged is in how often they get chosen by the protocol. Once you are chosen, however, you benefit just as much as them. So if the reward is 2000 ADA, you get 2000 ADA whether you stake 1,000,000 ADA or 100 ADA. But it sounds like you’re saying that’s not the case. Anyway, you’re in a better position to answer these questions so I imagine you’re most likely right.

EDIT: Also, I really didn’t want to get into any stake pool talk, because I don’t understand them that well, my mental scenario involved 2 persons staking individually on their own.

Yep, that would be the bitcoin model. It’s not the case in Cardano. Everyone will always receive the same percentage of rewards compared to their stake. So if you staking 100 ADA - you will receive X% of this as reward, and if some whale stakes 1M ADA - they will receive the same X% of this as reward.

It doesn’t mean there’s no point in staking, tho, because this is the whole point of staking pools - you don’t ned to be “selected” to participate and receive fair percentage of rewards, proportional to your stake. You just need to delegate to a pool and that’s it.

That’s absolutely no problem, since this is what talks are for - to find out new stuff )

1 Like