5.5
RPL rewards
RPL rewards are paid out from RPL inflation. Each year, RPL supply increases 5% where 70% of that is earmarked for Node Operator rewards.
Node Operators who run minipools are required to stake at least 10% of their borrowed ETH (1.6 ETH for a 16 ETH minipool deposit, or 2.4 ETH for a LEB8) as collateral. If they maintain 10% or greater, they are eligible for rewards.
It is possible, due to RPL price fluctuations, for collateral to fall below 10%. The NO must then deposit RPL to rise above 10% or forego RPL rewards until they rise above due to deposits or price fluctuation.
With the RPL rewards on top of the regular staking rewards and commission, running a Rocket Pool node can be much more lucrative than solo-staking or holding LSTs like rETH, stETH or cbETH, etc. Just the regular staking rewards with commission on two LEB8s is 42% greater than solo staking.
Reward Calculation
Node Operators can stake more RPL than the minimum and earn greater rewards. As of RPIP-30, rate of rewards increase drops off at higher staked amounts. The fraction of RPL rewards for a node are determined by it's node weight divided by the sum of all node weights, where node weight is determined by the percent of RPL (in ETH) staked1:
where is the value of the staked RPL in ETH and is the amount of borrowed ETH.
In simpler terms, below 10% stake the NO gets no RPL rewards, from 10% to 15% the RPL rewards are linear, and above 15% RPL rewards slow down logarithmically. A detailed reasoning for the equations can be found in RPIP-30.
The plot below shows, for LEB8s and 16 ETH minipools, the RPL reward distribution described above:
This rewards structure differs from the pre-RPIP-30 structure which had rewards linearly rising from 10% of borrowed ETH to 150% of bonded ETH.
The primary goal in the RPIP-30 change is to align RPL allocation with rETH supply creation. In plain terms, there is now a shift towards increasing rewards of Node Operators with lower/minimum RPL staked relative to those with higher RPL staked.
The goal is to incentivize those with large RPL stakes to create more minipools with low amounts of staked RPL rather than less minipools with higher RPL stakes. They will be rewarded with more commission and more RPL rewards. In turn, more minipools created allows for more ETH to be deposited by passive stakers to create rETH.
Note that this new structure also rewards LEB8s over the original 16 ETH pools for similar reasons.
Rewards Cycle
The RPL rewards cycle is 28 days long. A snapshot for rewards is taken a few hours before the end of the cycle. Only those with staked RPL valued above 10% of borrowed ETH at the snapshot get RPL rewards for that 28 day cycle. If the Node Operator started a 16 ETH minipool, they would get RPL rewards for staked RPL above 1.6 ETH (above 2.4 ETH of RPL for LEB8s).
Withdrawing Staked RPL
Previously, the Node Operator's staked RPL was not withdrawable until the minipool exited and the bond was released. The exception was that an amount of RPL over 150% of the value of the bonded ETH was withdrawable. For example, for one 16 ETH minipool, any amount of RPL over 24 ETH's worth of RPL could be withdrawn. If one had 2600 RPL staked when the ratio was 0.01 RPL/ETH, then the RPL value is 26 ETH so 2 ETH's worth (200 RPL) could be withdrawn.
The original lock requirement was intended to stabilize price, however, the increased friction lead to hesitation to stake RPL and threatened to increase minipool churn as those with more than minimal RPL would need to exit pools to rebalance.
With RPIP-30, withdrawing RPL over 15% of borrowed ETH will be possible. Decreasing the RPL withdrawal upper limit is being phased in in correlation with the RPIP-30 rewards implementation mentioned in footnote 1. Note that phase 3 ends on March 14, 2024 and phase 6 ends June 18, 2024.
When the next major contract updates to the protocol are deployed, RPL staked above 15% of borrowed ETH can be marked unstaked.
Unstaking RPL
For RPL that can be withdrawn, it will first be marked as unstaking. Unstaking lasts for 28 days, but is a pDAO adjustable parameter, before becoming unstaked. If more RPL is marked as unstaking from the same node, the unstaking period resets to 28 days. Unstaked RPL can then be withdrawn.
Technically, there is still a cooldown period (a relic from the previous withdrawing standard) from when unstaking ends to when RPL can be withdrawn, however, it is set to zero (although, pDAO can vote to change it if need be).
Note that unstaking and unstaked RPL are not eligible to vote.
Staked RPL below the withdraw limits cannot be removed from the Rocket Pool node. The only way to unstake and withdraw this RPL is to exit the minipool.
Aside
Show how changing RPL value can affect RPL reward distribution
Suppose there are only two Node Operators (NOs) to distribute RPL rewards to. Say, NO A has 1200 RPL staked and NO B has 600 RPL staked and that the current value of RPL is such that 1 ETH = 200 RPL, so the ETH/RPL ratio is 0.005. Further, assume they both have one 16 ETH minipool, so .
RPL rewards are given according to the above node weight equations, so:
NO A has 1200 RPL at 0.005 ratio =>
NO B has 600 RPL at 0.005 ratio =>
thus,
NO A node_weight = 320.18
so A gets 320.18 / (320.18 + 273.79) = 54%
of total rewards
NO B node_weight = 273.79
so B gets 273.79 / (320.18 + 273.79) = 46%
of total rewards
Now, let's say RPL scarcity due to a large influx of minipools drives the ratio ETH/RPL to 0.02. The effective range for RPL rewards now is:
Now,
NO A has 1200 RPL at 0.02 ratio =>
NO B has 600 RPL at 0.02 ratio =>
thus,
NO A node_weight = 377.26
so A gets 377.26 / (377.26 + 349.89) = 52%
of total rewards
NO B node_weight = 349.89
so B gets 349.89 / (377.26 + 349.89) = 48%
of total rewards
Even though the amount of RPL for each is unchanged, the percentage of rewards at the higher ratio closes between them.
1 This reward structure is being phased in over six cycles (28 day rewards periods), ending on May 9, 2024.
End of lesson 5