Bruno - Stake Reward Calculator


I like to measure my validator earnings, so I made this app for the community!

Help me
Please leave a message if you found a bug.
This is a completed product, but you could recommend new features!


  • PRV Price - from last trade
  • Nodes reward - Calculate from yearly issuance and community nodes
  • Pool reward - Fixed 28% APR
  • Auto restake is monthly
  • Price increase applies to the whole term.
  • Incomes are averaged


Happy staking!


This looks really nice. Tagging @ducky @aaron @andrey for consideration in the July Builder rewards.

A few suggestions:

  1. While the calculator works for a Node Virtual or a (physical) Node with a private stake, it has no provision for a (physical) Node with funded stake. A (physical) Node with a funded stake still has the same stake (1750 PRV) but the operator only receives 35% of the block rewards, approximately ~3.822 PRV per earning epoch. Would it be possible to add a switch/config to choose between a) Node Virtual, b) (physical) Node with funded stake or c (physical) Node with private stake. §

  2. Some help/info tooltip/blurbs would be helpful. It’s not exactly clear what Network Stake is and where to find that info. It’s not obvious that the Stake slider calculates value based on the number of Nodes + Node Pool stake. Hover-type tooltips could convey this information while keeping your clean presentation.

  3. It may be helpful to add some disclaimers/explainers that the Node earnings represented on this calculator are not representative of actual expected Node earnings. Your calculator seems to either average earnings or expect a steady rate of Node earnings. Either of these scenarios could mislead a new Incognito user in understanding the very random and inconsistent rate of Node earnings.

§ An even more advanced suggestion – Allow the configuration of several Node types. There are a number of people who not only operate Node Virtual(s) but also (physical) Node(s), with a funded stake or a private stake or some combination of both funded and private stakes.

  1. Yeah it is in the plan. Thanks for concrete numbers and options. I am on it.

2-3. Great ideas. I upgraded. Check it.

Thanks for your reply Mike!

1 Like

Those changes look great! And fast too!

1 Like

What is the staking time and pool? I only have one pNode, what should I do?

This is an interesting tool and could be very useful for those trying to look at different investing strategies. I am not sure if this will be possible, but I could see the earnings from nodes being calculated and plotted using a set number of simulations and then plot a band of simulated outcomes with your single black line following in the middle.

For instance, you could simulate 100 trials over the timeframe selected, where every 4hrs you give a node a chance for selection based upon total number of nodes on network at that moment in time (or allow user to enter this value and default it to incognitos current goal, which I think is 1800). Then once in committee, you have 3 chances to be selected to earn based upon total number of nodes in committee. Save earnings of each 4hr block into array/vector/etc…

Then you can plot the high low/high/average/etc of all simulated runs and give people a much more accurate expectation of what their earnings could look like, and would probably make the tool more accurate overall… This may be way out of scope, but seems like a nice addition with all of the randomness involved in earnings on node side


Time - how long do you stake? It is a specified interval.
Pool - you can stake any amount of PRV in the app. Earn ~37% return per year.

It is a funded or private Node?

1 Like

Great idea!

I calculate on average but the random factor might be interesting.
I am thinking about it.

Thanks for your reply Doc!


How can I use the funded physical nodes input?
Why it is disabled?

Excellent work. I like this simple UI.



This feature in progress. I will write if it is enable.

Thank you!


Here that team? The simple UI, now we are getting somewhere :sunglasses:


For Stake need to buy nodes?


You don’t have to buy a node, you can stake your prv in the app. In the node pool and you will get 37% APR but if you buy a node and have at least 1750 prv to stake it or borrow it and get 35% APR until the borrowed prv is paid back. You will get a higher APR % or you can setup a virtual node with 1750 prv and get a higher APR %. There tutorials on here on how to setup a virtual node if you are familiar with computers. If not I suggest buying the node as it is ALOT easier to setup and run. But the easiest is using the node pool. im not sure what the % of APR you will get with the physical node or the virtual node is off hand.

1 Like

One clarification… when you have a pNode, you get 35% of the reward, it is not set to 35% APR… my pNode is averaging about 9PRV/week… so the APR is different depending on how you calculate the return. For instance, if you take the current rate of PRV to be $0.79, that equates to about ~$7/week… if that was maintained over entire year (highly unlikely with number of nodes increasing), that would be $369/yr… which is pretty good for a device that cost me $200 (and way different than 35% APR)

Another point of clarification, is that you maintain this 35% of reward until you unstake the pNode and stake it yourself, it is not automatically removed, and you are not “paying off the borrowed stake”. You can keep earning your 35% of the reward as long as you want, and can also replace it with your own 1750PRV at any point to earn 100% of the reward.


Helo guys!

I updated the reward rate from available node rewards data.

Thank you for vote me in the July Builder voting!


Hello @Bruno,

Great work with the project! I have a quick question - it looks like you updated the reward rate. Did you update it to an average APY number of you used a different formula based on node rewards data?

Hello @sid,

thank you!

That is how I calculate:
Yearly reward supply is 8751970 PRV (but every year decrease 9%)
Number of validators from live api.
At the moment 1688 validator is live. From this 176 are core team’s validators.
But the twist is these 176 validators earn ~75% of reward.
And that was the percent what I increased.

Now the reward rate is more realistic.

1 Like

Thanks, @Bruno! That makes sense. So I believe you are using the calendar year (Jan - Dec) for calculating the 25% of the yearly reward supply, and then factor a 9% decrease on the overall rewards every year. So if I were to use 36 months as my staking duration, I’ll see a curve with slightly diminishing returns. This obviously will change if we were to assume the PRV token value increase over time.

Great work with the calculator though, you’ll surely get my vote for this month! :slight_smile:

Yeah, It calculate with these.
The diagram represent your PRV holding. So the PRV price change is not influence that.

Thanks for your vote and comments! I appreciate these.

1 Like

Hey @Bruno,

I am not sure if this is an error or what, but the calculator doesn’t appear to be working today. I just happened to go to it to run some numbers and saw it’s showing some negative numbers. You may want to take a look. Thanks!

1 Like