NOTE!
This page is a historical snapshot of the version
0.1
of this calculator!
The only purpose of this page is to cause nostalgia and horror.
Please return
back to the main version in order to actually use the service.
Thank you for visiting "The Memory Lane"
<- Back
Formula explanation
All information for calculations are taken from these documents:
- Cardano monetary policy
- Cardano staking explained
- AdaTracker charts (to approximate transaction number)
Parameters require for calculations:
INFL
- the level of inflation in yearly percentile reserve decrease
YEAR
- number of full years since the launch of the staking
STAKE
- your stake in coins
TOTAL_STAKE
- total stake in the system in coins
TX_EPOCH
- average number of transactions each epoch (5 days)
TX_SIZE
- average size of a transaction
TAX
- the percentage of profits taxed towards the treasury
POOL_FEE
- the percentage of profits that pool takes as a fee
Full formula:
MINT = 13,887,515,354 * (1 - INFL)YEAR * INFL
FEES = ((73 * TX_EPOCH) * 0.155381) + ((73 * TX_EPOCH) * TX_SIZE * 0.000043946)
RESULT = (((MINT + FEES) - TAX) * (STAKE / TOTAL_STAKE)) - POOL_FEE
Detailed explanation:
Minted coins
First we calculate how much coins will be issued this year as an inflation:
MINT = 13,887,515,354 * (1 - INFL)YEAR * INFL
The 13 billions number is taken from the monetary policy and represents the total reserve
of coins not issued from the beginning. These coins will be gradually issued thru minting
using formula above to calculate the amount. Formula is taken from the staking explanation post.
For example: if we take an arbitrary example of 5% reserve decrease, and calculated it for the
second year (1 whole year after launch), then it would give us:
13,887,515,354 * (1 - 5%)1 * 5% = 659,656,979.315
Just under 660 millions of newly minted ADA in the second year of staking.
The MINT
value now gives us notion of how much new coins will
be issued to reward people. But there are also fees that users pay to send coins or execute any
transactions. Total fees for the whole year are calculated like this:
Fees
TX_YEAR = 73 * TX_EPOCH
FIXED_FEES = TX_YEAR * 0.155381
SIZE_FEES = TX_YEAR * TX_SIZE * 0.000043946
FEES = FIXED_FEES + SIZE_FEES
TX_YEAR
gives us the average number of transactions for the whole year.
One year consists of 73 epochs. For now it's fixed, but in theory also may change.
Best practice would be to make it a separate parameter EPOCH_YEAR
FIXED_FEES
is the number of all transactions per year multiplied by
the fixed transaction cost as described in the staking explanation post.
It also might change in the future so would be best to define parameter TX_FEE_FIXED
SIZE_FEES
is the sum of all bytes of all transactions per year multiplied by
the byte cost as described in the staking explanation post.
It also might change in the future so would be best to define parameter TX_FEE_PER_BYTE
For example: if we take current average number of transaction from
the actual tracker it would be around 15,000.
And if we take an average transaction size to be 200 byte, as described in the staking explanation post.
Then we could calculate:
TX_YEAR = 73 * 15,000 = 1,095,000
FIXED_FEES = 1,095,000 * 0.155381 = 170,142.195
SIZE_FEES = 1,095,000 * 200 * 0.000043946 = 9,624.174
FEES = 170,142.195 + 9,624.174 = 179,766.369
Tax
UNTAXED_REWARD = MINT + FEES
TAXED_REWARD = UNTAXED_REWARD - TAX
UNTAXED_REWARD
is the total pool of reward for all stakers in the system, but before
tax is subtracted. Once we subtract some percentage of the total pool into treasury -
we get the final TAXED_REWARD
- total reward distributed among all stakers.
For example: if we take TAX
to be 20% just as
an arbitrary rational example (IOHK proposed 20% tax for ETC, but it might end up
being be 25% for Cardano, or some other number), then calculations would go like:
UNTAXED_REWARD = 659,656,979.315 + 179,766.369 = 659,836,745.684
TAXED_REWARD = 659,836,745.684 - 20% = 527,869,396.547
Share by stake
SHARE = STAKE / TOTAL_STAKE
REWARD_SHARE = TAXED_REWARD * SHARE
Any arbitrary staker (in the pool or not) may calculate his AVERAGE share of the rewards,
by calculating his SHARE
in the total stake of the system.
This parameter of the total stake is actually the most important one, because
it directly and in the most significant way affects how much coins a user will receive
by staking the same amount of coins. The lower total stake - the greater you share
can be with the same coins staked.
For example: if we take TOTAL_STAKE
to be 15 billion (just as
an arbitrary completely random example, no one knows how many actual coins will be staked) and
we take out stake to be 42 thousand coins, then calculations would go like:
SHARE = 42,000 / 15,000,000,000 = 0.0000028
REWARD_SHARE = 527,869,396.547 * 0.0000028 = 1478.0343
This shows us that a person with a 42K coins stacked would receive ROUGHLY
about 1478.0343 in a year, but ONLY IF there would be 15 billions of total stake.
Pools fees
RESULT_REWARD = REWARD_SHARE - POOL_FEE
Pools might take fees of different size and they will define those at the moment
of the pool registration. For example: if we take a completely arbitrary number of 5%,
then calculations would go like:
RESULT_REWARD = 1478.0343 - 5% = 1404.1325
This gives us the final APPROXIMATE yearly profit of 1404.1325 for a 42K stake, or 3.34%.
Calculator
For a detailed explanation of how this whole thing works visit the 'Formula' tab in the top menu.
Or visit the 'FAQ' page to find some common answers.
Define parameters:
(Up\Down arrow keys may be used in the input fields)
Your APPROXIMATE profits:
At the start of the year:
|
|
|
During this year:
|
|
|
At the end of the year
|
|
|
Warning! Presented results are not a promise of future profits!
All they show is what APPROXIMATE amount of reward a person could receive ON AVERAGE
in the selected period of time (specific year) ONLY IF actual behavior of the system
would somewhat match WITH PARAMETERS SELECTED ABOVE!
These results just demonstrate how the formula works, and the formula is somewhat similar
to the one that will be used in the Cardano reward calculation protocol.
Frequently Asked Questions
How reliable is this whole thing, eh?
Presented results are not a promise of future profits!
All they show is what APPROXIMATE amount of reward a person could receive ON AVERAGE
in the selected period of time (specific year) ONLY IF actual behavior of the system
would somewhat match WITH PARAMETERS SELECTED ABOVE!
This project is strictly educational. These results just demonstrate how the formula works, and the formula is somewhat similar
to the one that will be used in the Cardano reward calculation protocol.
As soon as any new information about the incentives system becomes available - I will update
the default parameters or the formula in this calculator. Subscribe to the informational channels,
and look out for announcements.
What's up with all those parameters, eh?
See the Formula page to find
detailed explanation of why all those parameters are needed.Basically, after seeing this calculator
and explanation of its functionality, if someone shows you a calculator with fewer parameters -
you may be sure they are hiding something. There are some yet undefined parameters they are not showing to you.
That's it. All those parameters are required to derive the final value.
And there's no definite value for them exist yet (or ever) like with the fixed fee cost.
What's up with the design, eh?
I couldn't care less, it works. See the About section.
Why total stake is 15 billions, eh?
The amount of somewhat stable total stake in the system is not known at this point
and will also change in time (but not as a predictable function) until it converges
to some more or less stable value (in percentage) and will show only slight fluctuations from there on.
The total stake is one of 2 most important parameters - along with your own stake.
These two parameters are basically decide how much you will profit, because they directly define
your share in total stake - and this value directly shows how much of yearly
inflation and yearly fees will go to you.
So for now - there's absolutely zero available data to decide what the total stake would be in the
year one, or year two, or later on. For a real-world example we can take the "Waves" Proof-of-Stake platform
that has total stake of ~60% of its supply.
So the 15 billion number is taken completely arbitrarily just as middle ground
around 50% of supply. The main point is to SHOW you how this value affects the rewards.
So try to move it around and just plan ahead what you profits would be if the total
stake would be at this value.
It might as well be lower in reality. But might as well be more.
Why Year
needed, eh?
The Year
parameter is required, since all the other monetary
behavior of the system changes in time - inflation decreases with total supply, fixed block
reward changes, etc. Any calculation that does not include time may only demonstrate you a "splice"
of time, for example, only the first year of staking.
Why Year
starts with 2019, eh?
The official date of staking release in Cardano is not defined yet, but it's somewhere in the fall of 2018.
Since profits are calculated only yearly anyways (for now) and to make controls easier and more concise -
it was decided to simply place 2019 as a first full year of staking. Basically, you can think
of that date as: "the first year when I will receive my yearly profits".
Are you gonna make it better, eh?
Yes, see the roadmap.
Can you add new cool feature, eh?
See the roadmap in case it's already planned,
or propose new features here.
About this project
As mentioned in the disclaimer:
- All calculations are actually rough estimates
- No result from this calculator should be considered as a promise of a future profits
- There are too much unknown variables present in the calculations and without knowing those -
no result might be easily predicted
Why
Main points of this project are:
- Show how calculations are done
- Show how complex calculations are
- Show how many variables are used
- Show how many variables are yet unknown
- Show estimated order of magnitude for rewards
This project is educational! Remember this project if someone shows you a calculator
with a couple of fields and a single question of how big your stake is. Or if someone tries to
get an easy answer of "what the profit percentage will be" - show them this calculator.
Also it provides a nice place for the formula explanations with an immediate example.
Project development
This calculator is in the initial primitive state. It was developed extremely fast with the
main point ot get the formula and the example to people as soon as possible. There are many
potential additional calculations possible, so project is planned for some support in the near future.
See roadmap
To ask development questions or propose features, you use:
- This dedicated discussion issue:
https://github.com/antipalos/antipalos.github.io/issues/1
- Project issues in general:
https://github.com/antipalos/antipalos.github.io/issues
Design
I clearly don't care that much. I'm a backend developer normally, so I neither want, nor can mess with
all this complex designing stuff. If you're ready to voluntarily help design this whole thing better - you are welcomed
to contact me so we could set up some collaboration. Any help in this question will be greatly appreciated.
Help
If anyone wants to help with all of this, there are options:
Contacts
Cardano
Forum: forum.cardano.org
Chat: t.me/CardanoGeneral
Reddit: r/Cardano
Wiki: cardanowiki.info
Calculator Dev
Twitter: @vsubhuman
GitHub: @vantuz-subhuman
Forum: /u/vantuz-subhuman
Reddit: /u/vantuz-subhuman
Cardano chat: t.me/CardanoDevelopersOfficial
Roadmap
Propose new features here
or
vote on existing features here.
0.1 ✓ (Current version)
- Release basic functionality ✓
0.2
- Rework implementation (separate js\css\html)
- Extract text (templating engine?)
- Calculate yearly restaking
0.3
- Rework period calculation (prepare for per-epoch calculations)
- Calculator for pools
- Translation support
0.4
- Per-epoch calculations (with restaking)
- Basic multiperiods calculation (epochs to years)
0.5
- Links with parameters
- Layout design? (Bootstrap or something)
- ...
0.6
- Prepare for stats collecting
- ...