The Deposit Credit System

The deposit credit system is a mechanism to track ETH that was previously bonded by node operators but is no longer required and make it available for use again. The source of this credit comes from a few places:

  • Exiting a validator from the Rocket Pool deposit queue. Dequeueing a validator will credit the node operator with the bonded amount (4 ETH)
  • If a prelaunch validator fails to stake within 28 days, the validator will be dissolved. The 1 ETH (of a 4 ETH bond) sent to the Beacon Chain during the prelaunch process is not recoverable. The node operator is credited the remaining 3 ETH from their bond with a dissolve penalty of 0.05 ETH applied as debt. The net credit for a dissolved validator is 2.95 ETH.

The next two are only for node operators who made migrations pre-saturn. They are no longer possible:

Every node operator begins with a credit balance of 0 ETH.

This ETH is not made liquid and returned to the node operator; instead, it can be redeemed for an equivalent amount of rETH. Additionally, credit can be used to create additional megapool validators without requiring any ETH from the node operator.

The credit system is transparent to the node operator; it will automatically be used (with notifications in the Smartnode CLI explaining that it will be used) during rocketpool node deposit operations if possible. If it cannot be used, the Smartnode will alert the user that it cannot be used and will require a normal ETH bond during either operation.

See the Credit Availability section below for more details.

Viewing your Current Credit Balance

To view your current credit balance, simply run the following command:

rocketpool node status

This produces a comprehensive list of details about your node, including its credit balance right at the top:

Your Smart Node is currently using the Hoodi Test Network.

=== Account and Balances ===
The node <node-address> has a balance of 49.402553 ETH and 0.000000 RPL.
The node has 4.000000 ETH in its credit balance and 0.000000 ETH staked on its behalf. 2.909175 can be used to make new validators.

Redeeming credit for rETH

To redeem credit for rETH, use the command rocketpool node withdraw-credit. The equivalent amount in rETH will be sent to your withdrawal (your node address if a withdrawal address is not set):

staker@node:~$ rocketpool node withdraw-credit

You have 4.000000 ETH of credit that you can withdraw, receiving the equivalent amount in rETH.

Would you like to withdraw the maximum amount of credit? [y/n]

Credit Availability

The ETH for your credit balance is taken from the deposit pool. In some situations, your node might have a credit balance available but the deposit pool won't have the ETH balance to fully bond your next megapool validator deposit.

If you want to use 4 ETH in credit to create a new 4 ETH megapool validator, it will require 4 ETH from the deposit pool and require none from you. Because of this, if the deposit pool does not have enough ETH in it to cover the bond value (currently set to 4 ETH), your deposit will require ETH from your node wallet to create a validator.

The smartnode will be able to create a validator using ETH from the deposit pool alongside a portion of your credit. The smartnode will notify you during the rocketpool megapool deposit operation if you have credit and must use ETH from your node wallet to create a validator.

In the following example the node operator has 4 ETH in credit but the deposit pool only has 3.431627 ETH, requiring 0.568373 ETH from the node wallet to complete the deposit:

Your credit balance is 4.00 ETH. (Credit in addition to ETH staked on your behalf).
This deposit will use 3.431627 ETH from your credit balance plus ETH staked on your behalf and 0.568373 ETH from your node wallet.