Minipool deposits are currently disabled in preparation for Saturn 1.
Migrating a 16-ETH Minipool to 8-ETH
Node operators have the ability to directly migrate their existing 16-ETH minipools into 8-ETH minipools. Doing so will add 8 ETH to their deposit credit balances which can be used to create additional minipools without requiring any ETH from the node operators.
In effect, this process allows a node operator to convert one 16-ETH minipool into two 8-ETH minipools for free (though it will still require ETH for gas and require enough RPL collateral to handle both minipools).
Migrating an existing 16-ETH minipool to an 8-ETH one is formally known as bond reduction. It is a two-step process and involves validation by the Oracle DAO. We'll walk you through the whole process in the sections below.
Bond Reduction Rules
A bond reduction involves the following steps:
- Starting the bond reduction, done by the node operator.
- A waiting period (the "bond reduction scrub check"), allowing the Oracle DAO time to verify the bond reduction is legal and cancel any bond reductions that violate the rules.
- Completing the bond reduction, done by the node operator.
To perform a successful bond reduction without being scrubbed, the minipool must follow these rules:
- The minipool must be upgraded to the Atlas delegate; the old Redstone delegate cannot be used.
- The minipool's validator on the Beacon Chain must be pending or actively staking. It cannot be slashed, exiting / exited, or withdrawable / withdrawn.
- The minipool's validator balance on the Beacon Chain must be at least 31.99 ETH (32 ETH with a small buffer for poorly-timed complications resulting in missed attestations after a rewards skim).
The minipool must obey these conditions for the entire duration of the scrub check, during which time the Oracle DAO will be watching it to ensure compliance with the conditions above.
If, at any time during the scrub check, a minipool is found to be in violation of these conditions, the bond reduction will be scrubbed. The minipool itself will not be affected; it will still happily live on as a 16 ETH minipool, validating and acting as though the whole bond-reduction process never happened. However, it will no longer be eligible for bond reductions. Once a minipool's bond reduction is scrubbed, it can never be attempted again.
Upon a successful bond reduction, the minipool's bond amount will be reduced from 16 ETH to 8 ETH and the minipool's commission will be reset to whatever the current network value is.
If you reduce a 16-ETH minipool with a 20% commission, you will not keep that 20% commission. It will be reduced to the network value (currently set to a flat 14%).
Note that as demonstrated by the example math section, an 8-ETH minipool at 14% is still more profitable than a 16-ETH minipool at 20% so holding onto a high commission rate is not a compelling reason to retain a 16 ETH bond.
Step 1: Beginning Bond Reduction
To begin the bond reduction process, enter the following command:
This will start by providing a brief blurb on the process (though, if you have read through this guide, it should all be familiar to you already). Once you acknowledge that you understand the process, it will show you which minipools currently have a bond that can be reduced, along with their current bond and commission:
Once you've selected one or more minipools to reduce, the Smartnode will check if those minipools are eligible for bond reduction.
To be eligible, these conditions must be satisfied:
- The minipool has been upgraded to use the Atlas minipool delegate contract.
- The minipool's validator must have a Beacon Chain balance of at least 32 ETH.
- The minipool's validator must be pending or active.
- You have enough RPL staked to support the minimum RPL collateral level that would be required after the bond reduction.
If not, it will print a warning error explaining what needs to be done first; for example:
This shows that the selected minipool requires a delegate upgrade and the node needs more RPL staked in order to reduce that minipool's bond.
When you have satisfied the preconditions, selecting a minipool in this command will simply prompt you to choose your gas price for the transaction and confirmation of the action. Upon accepting the confirmation, the minipool's bond reduction will begin.
Monitoring the Scrub Check Timer
Once you've started a bond reduction, you can view how long until it's able to be completed in your node daemon logs:
For Docker Mode and Hybrid Mode users, this can be done with the following command:
You will see a new entry noting how much time is left until the scrub check for your bond reduction is complete:
Once this timer reaches zero and no longer appears in these logs, you can complete the bond reduction.
Step 2: Completing Bond Reduction
When the scrub timer has successfully ended, there are two ways to complete your minipool's bond reduction:
- Let the
nodedaemon handle it for you; it does this during the routine check it performs every five minutes (the same one that prints the time-remaining line in the log above). If it notices you have an eligible bond reduction, it will complete the reduction automatically - just as it does with staking pending minipools and checking your fee recipient. You will see output in thenodelog showing when it has detected, and completed, a bond reduction. - Complete the bond reduction manually using the following command:
The command is simple; follow the prompts to complete the process once your minipool is eligible for bond reduction.
During the bond reduction, Rocket Pool distributes your minipool's existing balance using the minipool's pre-bond-reduction bond and commission to ensure both you and the rETH stakers get your fair share of the existing balance, and the bond reduction doesn't change the rewards either party would have gotten on that balance.
The Results of a Reduced Bond
You can verify the successful bond reduction using rocketpool minipool status.
Before the bond reduction, for the example minipool we've been following, that command would produce the following output:
After the bond reduction, the command would return this output:
Note how things have changed:
Node fee(commission) went from 15% to 14%Node deposit(your bond) went from 16 ETH to 8 ETHRP deposit(the amount you borrowed) went from 16 ETH to 24 ETHMinipool Balance (EL)went from 0.150713 ETH to 0.086769 ETHYour portion (EL)went from 0.086660 ETH to 0 ETHAvailable refundwent from 0 ETH to 0.086769 ETHYour portion (CL)went from 16.000087 ETH to 8.000013 ETH
The changes to Node fee, Node deposit, RP deposit, and Your portion (CL) indicate that the bond was successfully reduced.
The changes to Minipool Balance (EL), Your portion (EL), and Available refund indicate the results of the minipool balance distribution that occurred as part of the bond reduction process.
To clarify how to interpret these results:
- If you look at the transaction, you will also see that it sent 0.06413383 ETH from the minipool to the staking pool.
- In the "before" example, the staking pool's share is the minipool's balance minus the node operator's portion, or
0.150713 - 0.086660 = 0.064053which is the amount transferred to the staking pool during the bond reduction (plus a small amount from a rewards skim that occurred during the scrub check). - The node operator's share, on the other hand, doesn't get sent to the node operator's withdrawal address. It is instead bookmarked as an available refund, which is why the refund amount increased from 0 ETH to what was previously the "your portion" amount of the minipool's balance on the EL.
- You can claim this refund at any time using the following command:
- You can claim this refund at any time using the following command:
There is one more important result of the bond reduction, which can be observed using rocketpool node status:
The bond reduction process has increased the node's deposit credit balance by 8 ETH. This credit can be used to make another 8-ETH minipool for free (no ETH required from the node wallet, except for gas)!