Earlier this year Kleros announced the Juror Incentive Program, taking place throughout the entire year of 2021.
The Kleros Juros Incentive Program main goal is to increase the security of the Kleros protocol by incentivizing PNK holders to stake on the courts. The more people stake, the more decentralized Kleros become. You can read more about the original KIP-37 proposal here.
Let’s dig into the mechanics of how rewards are calculated.
How the reward distribution is calculated?
We decided to go with a once a month distribution of 1MM PNK.
When a new month starts, we collect all the staking activity of the previous month and calculate the time-weighted average of the amount jurors had staked during the entire period.
Wait, what?
In other words, we take into consideration not only the amount jurors staked, but also the time through which they remained staked.
We then sum all these averages to get what we call the Average Total Stake of the period. Each wallet unique address that had staked PNK within the relevant period will then be entitled to a share of the 1MM PNK to be distributed, proportional to their share on the Average Total Stake.
share = juror_avg_stake / avg_total_stake
Let’s say Alice holds some 50k PNK and she staked all of it for 15 days before unstaking. Assuming the month has 30 days, so Alice’s avarage stake will be:
alice_avg_state = (15 * 50000 + 15 * 0) / 30
alice_avg_state = 25000
Then let’s say that the total average stake of that period was 10MM. So Alice’s share can be calculated as:
alice_share = alice_avg_state / total_avg_stake
alice_share = 25000 / 10000000
alice_share = 0.0025
So Alice has the right to claim 0.0025
or 0.25%
of the total PNK distributed for the period:
alice_reward = alice_share * total_distribution
alice_reward = 0.0025 * 1000000
alice_reward = 250
Alice will receive 100 PNK in this specific case, but for the next month she can have a wildly different outcome depending on how much she and the other jurors stake.
Is there an expected yield for the incentive program?
The Kleros Court interface displays an APY figure. Let’s see how this works.
TL;DR: there is no guaranteed return for jurors, the APY metric exists just as an estimation.
One could calculate the yield that Alice got in the example above as a function of her average stake:
yield = alice_reward / alice_avg_stake
yield = 250 / 25000
yield = 0.01
Please notice that staking 50k for half of a month is the same as staking 25k for the full month.
Meaning her yield for the period is 1%
. All else constant, we can estimate the return of 1 year simply multiplying the value by 12. This leaves us with a potential APY of 12%
for Alice.
But the truth is that things will hardly stay constant. For example, Alice could stake the tokens she has just earned. So instead of 25k, next time she will have 25,250 PNK on average. This will produce a different result next month.
The value shown on the Kleros Court UI is a static picture of what the maximum APY could be if the total average stake is the same as the current total stake. It’s a ballpark approximation that is calculated like:
apy = (1000000 / current_total_stake) * 12
In the exact moment this post is being written, there is exactly 151,316,382
PNK at stake on the courts. This means that if this figure doesn’t change over the course of 1 year, the expected APY for the jurors that are currently staked is:
apy = (1000000 / 151316382) * 12
apy = 0.079304...
That’s approximately 7.93%
, which is the maximum yield Alice could obtain if she and everyone else kept their stake unchanged for the course of the year.
However jurors are incentivized to stake the PNK they receive through the program, which will increase the average total stake, which in turn will drive the yield a little bit down, since the amount distributed is fixed.
Below there are some quick stats of the program so far:
Period | # Staked | Avg. Total Stake | Yield | APY |
---|---|---|---|---|
Mar-21 | 586 | 123,457,776 | 0.80% | 9.60% |
Apr-21 | 676 | 140,746,856 | 0.71% | 8.52% |
May-21 | 808 | 147,463,078 | 0.67% | 8.04% |
Jun-21 | 839 | 161,032,053 | 0.62% | 7.44% |
Jul-21 | 865 | 156,271,986 | 0.63% | 7.56% |
What about xDAI?
Until past month, the Kleros Juror Incentive Program was available only on Mainnet.
With the launch of Kleros Court on xDAI, the Cooperative decided to split the distributed amount in a 90/10 ratio, that is, 900k PNK for Ethereum Mainnet jurors and 100k PNK for xDAI.
This split distribution will start as of September 2021.
The Ethereum Mainnet Court is still the most important one and deals with cases with higher values, while the xDAI Court is meant to be used for smaller cases.
Since the PNK supply is fixed, if a lot of liquidity goes to xDAI, the Mainnet Court could potentially be an easier target for a 51% attack. With this 90/10 distribution we incentivize jurors to keep ~90% of their PNK on the Ethereum Mainnet. This cannot be enforced though, so it’s up to jurors to decide where they want to be. There are other pros and cons to take into account to decide in which chain you want to stake your PNK.
What will be the APY of the Kleros Incentive Program on xDAI?
As explained above, there is no way to guarantee a specific yield. As of this writing there are exactly 8,221,794
PNK staked on the xDAI Courts. Using the same equation for the estimation on Mainnet, if the distribution was made right now, the yield would be:
yield = 100000 / 8221794
yield = 0.0122
That means a 1.22%
yield for the current month or a 14.6%
APY.
But let me say that again: this is not guaranteed. The actual yield will only be known at the end of August 2021 and the APY is just an approximation.