A new rewards mechanism

Or, how to make 200% APY on your ETH!

Matt Luongo
Keep Network
7 min readDec 3, 2020

--

Since the launch of the Keep network, over 21.2M KEEP tokens have been earned by early stakers — $6M+ in a few months.

76k ETH has been locked to back tBTC and earn KEEP so far. At today’s prices, that means an average staker is earning 16.7% on their ETH per month in subsidies alone — or ~200% APY.

These rewards won’t last forever. They’re meant to help bootstrap the Keep network and ensure the tBTC bridge is operator-owned, allowing fees to tBTC users to stay low. Originally, they were designed to incentivize volume through the tBTC minting and redemption process and build confidence in the bridge. And today’s reward structure has done exactly that, at the expense of being difficult to understand and optimize against.

Now that the bridge has been battle-tested and tBTC’s supply cap has been lifted, we’re adjusting the incentives for growth and clarity. This new rewards mechanism will go into effect immediately, covering the entirety of rewards interval 3, ending December 13th.

Boosts and Reward Weights

A core part of the Keep network is its random beacon. The beacon is used to perform sortition ー the random election of stakers to groups.

Sortition is a great security mechanism, but its impact on rewards makes modeling returns difficult. Small stakers might not get rewards due to variance, or huge returns due to “luck”. This problem is similar to that experienced by solo miners in Bitcoin.

Instead of basing rewards on sortition and work completed, the new approach calculates rewards on ETH locked and KEEP staked over time. The result is that operator incentives to staking are aligned with this planned growth phase of the network.

The ethScore function is linear up to 3000 ETH. After 3000 ETH, the ethScore becomes sublinear.
The boost function is linear up until the KEEP min stake, then is optimized to reward a good balance of KEEP to ETH.

These two functions allow a staker to calculate their reward weight, an indication of how much a particular operator node should earn relative to the rest of the pool.

The reward weight is the boost multiplied by the ETH score.
A staker’s rewards can be calculated by dividing their reward weight by the sum of all stakers’ reward weights.

By calculating the reward weight of the entire pool, stakers can see how much of a rewards interval they can earn, and project their return on investment.

An example

Suppose you stake the minimum of 70k KEEP, and lock 100 ETH to back tBTC deposits.

You’ll have a boost of 1 + min(70000/70000, √(70000 / (100 * 500))) = 1 + min(1, 1.4) = 2x.

Your reward weight is your ETH score multiplied by your boost. 100 * 2 = 200.

Excellent… but how much do you earn? From November 15th to December 13th, ~18M KEEP tokens are being distributed. If there are 9 other stakers, each with the same KEEP stake of 70,000 and 100 ETH bonded, they’ll all have the same reward weight, 200, for a total of 2000. You take 10% of the interval’s rewards, or 1.8M KEEP — $540,000 at today’s prices.

Of course, there aren’t 10 stakers on mainnet today, there are over 170. Outside this hypothetical, what sort of returns would you get staking on mainnet today?

Across the network, 76k ETH is locked, and 90.98M KEEP is staked. Staking the minimum of 70k KEEP and locking 100 ETH would earn 0.15% of available rewards, 28.5k KEEP — almost $9,000 at today’s prices, for a monthly ROI of 15% on your ETH and a projected APY of 180%.

Maximizing your rewards

As more KEEP is staked and ETH is locked, your earning potential grows.

On mainnet today, a staker who stakes the minimum required KEEP and locks 3000 ETH will earn 2.62% of the interval’s rewards. That’s nearly 500k KEEP this month, or $155,000 at today’s prices.

The more ETH locked, the higher the share of rewards you’ll earn.

Staking more KEEP also earns more rewards.

The boost ensures that KEEP stakers are rewarded for securing the network, and heavily incentivized to lock ETH. ETH holders are incentivized to stake their rewarded KEEP, growing the work they do on the network.

Timeline

Today, we’re midway through the 3rd 30-day rewards interval for tBTC. Returns are high, but they won’t stay that way forever, peaking in 2 months then diminishing over the remaining 20.

Over 24 months, 200M KEEP will be distributed. Each month the amount distributed grows, peaking at month 5 then decaying

Soon, the requirement of a minimum KEEP stake will be waived to increase the distribution of the token and participation in the system. While “ETH-only staking” will open the doors to anyone holding ETH, the returns will likely be significantly lower. For many stakers, there’s little reason to wait. If you do find yourself wanting to stake, but not ready to buy KEEP, ask around on Discord. Plenty of KEEP stakers would like to lock more ETH, and many might be interested in working together.

Details

The new rewards mechanism means stakers can better project returns and plan how they deploy resources, immediately. This mechanism will apply to interval 3 and all intervals going forward, and won’t be modified by the team without at least 30 days notice.

The rewards calculations will be performed weekly off-chain, and committed for distribution using a variant of Uniswap’s Merkle distributor. Unlike prior intervals that calculated rewards autonomously, this mechanism means the Keep development team can exclude any bad actors or stakers who have demonstrably harmed the network. To make this method of rewards distribution more predictable, the team will publish a script to compute weekly rewards in advance of the first distribution, as well include rewards projections in a futuredashboard release.

You can keep track of the rewards distribution code as it’s deployed on GitHub (PR 627, 628, 629).

Months to weeks

One of the lessons learned from the first two intervals is that 30 days is too long a cycle for a staker to learn how best to do their job. 30 day intervals also had other unfortunate side-effects, including the notorious end-of-interval “spamming” behavior, where stakers would open many small deposits at the end of the 30 days to heavily influence reward distribution.

For those reasons, we’re using the opportunity to move ECDSA staking to a weekly reward interval. We’re doing this in such a way that the reward distribution peak in 2 months is maintained, as is the total reward distribution for interval 3. After the reward curve peak, rewards will follow a similar decaying curve over the remaining 19 months, bucketed by week instead of month. We expect this will be confusing for interval 3, then be much easier to reason about going forward.

Note that rewards behavior for the random beacon hasn’t changed, and will continue to follow its current reward schedule.

Staking performance

In the first two intervals, staking rewards were based purely on performance. If a staker performed poorly, they would earn less — inherent to the rewards mechanism. In the new rewards calculation, however, rewards are based on network capacity first.

To handle this imbalance and prevent poorly performing stakers from harming the network, weekly rewards will only go out to stakers that maintain a certain level of performance. The team has termed this arrangement an “SLA”, after the service-level agreements common in enterprise software.

Any staker that commits fraud, either intentionally or due to a hack, will forfeit their rewards. Any staker that has more than 10% of their key generations fail in a week, or 5% of their redemptions, will also forfeit their rewards. The team plans to actively manage these conditions, and will update them quickly in the presence of a denial of service or other serious network event.

Start staking

Are you not staking yet? Get to it!

If you’d like to know how much you can earn on your ETH, check out this handy rewards calculator built by one of our community members. The spreadsheet is based on today’s mainnet data, and makes it easy to calculate returns.

To learn more about staking to earn KEEP and power tBTC, visit the staking docs, follow the stakedrop on AllTheKeeps, or join us on Discord for hands-on help and advice.

--

--

Matt Luongo
Keep Network

Project lead @keep_project. Founder @fold_app. Husband and new dad.