Staking Reward Calculator

Hi All,

I’d like to share with you the calculator that I created for working out expected staking rewards of stake pools and how these are affected if pool and network parameters are changed. This work branched out from a topic with @brouwerQ where we delved into the reward formula

What does the calculator do?:

  • shows the expected annual return of a stake pool for the operator and the delegators
  • shows the distribution of these returns using a Monte Carlo simulation, this is particularly important for smaller pools where the range of rewards can be much higher or lower than expected due to luck
  • comparison between pools
  • tweak the monetary policy parameters, pool parameters and reward parameters and see how the expected rewards change

What questions does it help to answer for Pool Operators?

  • Is it worth running a new stake pool if pledge x and get y from delegators?
  • what is the expected return of a pool and how much lower/higher can it be due to luck alone?
  • from a reward point of view is it better to have your ada as a pledge or a stake?
  • how does my pool compare to another pool x?
  • how many blocks can I expect to mint in a year?
  • how much ada can I expect to receive per minted block?
  • I have not minted any blocks in the last x epochs, is it normal for my pool?
  • if the reward parameters x is changed how will it affect by pool?
  • can you show me how the Cardano monetary policy and reward formula work?

What questions does it help to answer for Delegators?

  • what is the expected return of a pool that I am delegating to and how much lower/higher can it be due to luck alone?
  • I am thinking of moving my stake to another pool, will I get a better return? Will this return be more stable?
  • the pool to which I have delegated has not minted any blocks, how many blocks is it expected to mint?
  • I want to compare the expected returns from across 5 different pools, how do I do it?
  • do pools with a small stake generate a higher return compared to pools with a large stake?

Disclaimer: this is a prototype for educational purposes only, I am not advocating that you delegate to any particular pool and be sure to do your own research

Link to the calculator:

If you know the pool id that you want to analyze then you can add it at the of the URL like this:

You might need to refresh the page once for it to sync with the blockchain


Would be great to hear what you think


Nice calculator with good visualization. Thanks @dstratio for working on it! :+1:

This is fantastic work - thanks a million. Would it be possible to have the poolId as url parameter, so that we can have pool specific bookmarks?

Thanks for the feedback! I haven’t managed to get the SMASH server working and pushing pool details to PostgresSQL yet, so I don’t have access to the pool meta data besides the pool id… equally as a result don’t have the pool web addresses.

If anyone can work out how to add SMASH service to the same docker-compose file in this repo then I would very happy to add all the other pool info to the calculator and would also add the ability to search by pool ticker

I meant having this field prefilled with a poolId from an url parameter



Ok that is a good feature to have!
I have added so now you do something like this:

1 Like

Can you make ‘Total Staked ADA’ editable pls?