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:
https://dynamicstrategies.io/crewardcalculator

If you know the pool id that you want to analyze then you can add it at the of the URL like this:
https://dynamicstrategies.io/crewardcalculator/pool1dts0h87pntgmsffp6mjtnahfht2dz5zjjeeujhzmtn6wgctcuzd

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

example_calc

Would be great to hear what you think

7 Likes

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

image

e.g.

https://dynamicstrategies.io/crewardcalculator?poolId=pool1dts0h87pntgmsffp6mjtnahfht2dz5zjjeeujhzmtn6wgctcuzd

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

https://dynamicstrategies.io/crewardcalculator/pool1dts0h87pntgmsffp6mjtnahfht2dz5zjjeeujhzmtn6wgctcuzd

1 Like

Can you make ‘Total Staked ADA’ editable pls?

Nice job @dstratio. Just wondering if you would open the code. I’m good at coding but not in mathematics. It would be great for me to see the code to understand how the calculations are made.

Thank you anyway.

I would use Blockfrost.io ~ API Documentation for this purpose. Is very straightforward, and you don’t have to deal with all the stack of Cardano. Which is very overwhelming at this moment.

1 Like

Hi Everyone,

I have updated the Reward Calculator which is now about 10x faster after I significantly optimized the GraphQL queries and now also run a dedicated graphql server in the background - detail on how and how others can use it will follow shortly

TL;DR

  • The going rate of the staking return at an average stake pool is now 4.52% annualized, about 1% lower compared to a year ago. This is expected as the reserve diminishes and income from fees should increase (fees have increased about 4x from around 80k ada per epoch a year ago to around 310k in the last epoch - but that is not yet enough to compensate for the reduction in the distribution from the reserve. The distribution from the reserve reduced around 39mn ada per epoch a year ago to around 33mn ada per epoch now)

  • you can now adjust the “Current ADA Suppply” field in the calculator as requested by @brouwerQ

  • The rest of the functionality is as before only much faster

Access the calculator at:

https://dynamicstrategies.io/crewardcalculator

Or link to the calculator from your own website by passing the poolid of your stake pool like in the example below. This will automatically load your pool’s details into the calculator:

https://dynamicstrategies.io/crewardcalculator/pool1dts0h87pntgmsffp6mjtnahfht2dz5zjjeeujhzmtn6wgctcuzd

4 Likes

UR a hero :sunflower: :sunflower: :sunflower:

1 Like