Rocket Pool
Rocket Pool
Overview
Guides
Website
简体中文
English
Overview
Guides
Website
简体中文
English
Rocket Pool

Guides

Overview
The Saturn 0 Upgrade

rETH Staker Guide

Overview
Staking directly via Rocket Pool
Staking via a Decentralised Exchange on the Ethereum Network (Layer 1)
Staking via a Decentralised Exchange on Layer 2
Staking on behalf of a node

Node Operator Guide

A Node Operator's Responsibilities
Node Requirements & Choosing a Platform

Preparing a Local Node

Overview
Selecting Staking Hardware
Preparing a PC, Mini-PC or NUC
Preparing a Mac
Intro to Secure Shell (SSH)

Preparing a Server Node

Overview
Selecting a Hosting Provider
Preparing the Operating System

Securing Your Node

Securing Your Node
Tailscale

Installing Rocket Pool

Overview
Choosing your ETH Clients
Selecting a Rocket Pool Mode
Creating a Standard Rocket Pool Node with Docker
Creating a Native Rocket Pool Node without Docker

Configuring Rocket Pool

Overview
Configuring the Smartnode Stack (Docker/hybrid mode)
Configuring the Smartnode Stack (native)
Advanced Smartnode Configuration for Docker Mode

Provisioning your Node

Overview
Starting Rocket Pool
Creating a New Wallet
Importing/Recovering an Existing Wallet
Preparing your Node for Operation
Intro to the Command Line Interface
Specifying a Fallback Node
Fee Distributors and the Smoothing Pool
MEV, MEV-Boost & MEV Rewards

Creating or Migrating Minipools

Overview
Creating a new Minipool (Validator)
The Minipool Delegate
Converting a Solo Validator into a Minipool
Migrating a 16-ETH Minipool to 8-ETH
The Deposit Credit System

Monitoring & Maintenance

Overview
Monitoring your Node's Performance
Setting up the Grafana Dashboard
Smartnode Stack Alert Notifications
Checking for Updates
Backing Up Your Node
Masquerading as Another Node Address
Expiring Pre-Merge History
Pruning the Execution Client
Changing Execution or Consensus Clients
Moving from One Node to Another

Claiming Rewards

Overview
Claiming Node Operator Rewards
Distributing Skimmed Rewards

Participating in pDAO governance

Overview
The Protocol DAO
Participating in on-chain pDAO Proposals
Setting your Snapshot Signalling Address
Delegating Voting Power
Viewing the State of a Proposal
Voting on a Proposal
Creating a Proposal
Executing a successful proposal
Claiming Bonds and Rewards
Creating and Claiming a recurring treasury spend

Exiting your Minipools

Shut Down a Minipool
Rescuing a Dissolved Minipool
FAQ (WIP)

Testing Rocket Pool with the Hoodi Test Network

Practicing with the Test Network
Migrating from the Test Network to Mainnet

Running an Oracle DAO Node

The Rocket Pool Oracle DAO
Setting up an Oracle DAO Node
Testing your Oracle DAO Node
Monitoring your Oracle DAO Node
Oracle DAO Proposals

Legacy Guides

Upgrading to Smartnode v1.3.x
Migrating the Smartnode from Previous Beta Tests
The Atlas Update
Lower ETH Bond Minipools

Redstone & The Merge

The Rocket Pool Redstone Update
[Docker Mode] Guide to the Redstone Update and the Merge
[Hybrid Mode] Guide to the Redstone Update and the Merge
[Native Mode] Guide to the Redstone Update and the Merge

The Houston Upgrade

Overview
Getting Started with Houston
The Protocol DAO
Participating in Proposals
Stake ETH on Behalf of Node
RPL Withdrawal Address
Preparing a Raspberry Pi
📝 Edit this page on GitHub
Previous PageThe Saturn 0 Upgrade
Next PageOverview

#Staking Overview

This guide will introduce you to how staking with Rocket Pool works (how your ETH is put to work and your rewards are generated) and summarize the ways in which you can stake.

NOTE

If you're not interested in how staking works and just want to learn how to stake, click here to skip to that section.

#How Ethereum Staking Works

Before getting into Rocket Pool, let's talk about staking on Ethereum in general. Since the Merge on September 15th, 2022, Ethereum now comprises two blockchains in parallel: the Execution layer (formerly ETH1), which contains all of Ethereum's transaction data, and the Consensus layer (also known as the Beacon Chain, formerly ETH2) which consists of a network of validators that collectively determine the validity of each transaction and each block broadcast to the network.

Staking is the process of creating and maintaining one (or more) of these validators on the Beacon Chain to help the network maintain the consistency and security of the Ethereum blockchain. Validators do this by listening for transactions and new block proposals, and attesting that the proposed block contains legal, valid transactions by doing some number crunching and verification behind the scenes. Occasionally, they get to propose new blocks themselves.

To ensure that the network is resilient against malicious validators that lie about the current state of the chain, each validator is required to lock exactly 32 ETH up as a "stake" in the networks. Performing their duties correctly and agreeing with the majority of the other validators will earn them rewards; performing incorrectly and attacking the chain will cost them some of their locked 32 ETH balance. The amount taken depends on the severity of the attack and the number of validators that participated in it.

Validators in Ethereum are assigned attestations and block proposals on a schedule. This is very different from the old Proof of Work (PoW) system, where everyone is constantly trying to race each other and come up with the next block before everyone else. This means that unlike PoW where a miner isn't guaranteed to earn a block reward unless they find the next block, Proof of Stake validators are guaranteed to have slow, steady income as long as they perform their duties.

Initially, validator rewards simply accrued on the Beacon Chain against each validator and were inaccessible by their operator. As of the "Shapella" hard fork, validator rewards are routinely "skimmed" to the Execution Layer address defined by the validator's withdrawal credentials.

Additionally, now that the Execution and Consensus layers have merged, validators are also awarded with priority fees for transactions included in blocks they propose. These priority fees are paid directly on the Execution layer according the "Fee Recipient" set by the block proposer. If the validator is participating in a MEV network to propose a block built by someone else, that builder will provide a supplemental tip to the validator known as a MEV reward. This is also available directly on the Execution layer and is provided at the same time as priority fees.

#How Rocket Pool Works

Unlike solo stakers, who are required to put 32 ETH up for deposit to create a new validator, Rocket Pool nodes only need to deposit either 8 ETH or 16 ETH per validator. This will be coupled with 24 ETH or 16 ETH respectively from the staking pool (which stakers deposited in exchange for rETH) to create a new Ethereum validator. This new validator is called a minipool.

To the Beacon chain, a minipool looks exactly the same as a normal validator. It has the same responsibilities, same rules it must follow, same rewards, and so on. The only difference is in how the minipool was created and how withdrawals work when the node operator decides to voluntarily exit the minipool or gets slashed. All of the creation, withdrawing, and rewards delegation is handled by Rocket Pool's smart contracts on the Execution layer. This makes it completely decentralized.

#The rETH Token

As a Rocket Pool staker, your role is to deposit ETH into the deposit pool which will enable a node operator to create a new Beacon Chain validator. You can stake as little as 0.01 ETH.

In doing so, you will be given a token called rETH. rETH represents both how much ETH you deposited, and when you deposited it. The ratio includes rewards that Rocket Pool node operators earn from:

  • The Beacon Chain itself
  • Priority fees from block proposals
  • MEV rewards from block proposals

More specifically, the value of rETH is determined by the following ratio:

rETH:ETH ratio = (total rETH supply) / (total ETH staked + total rETH contract balance + total rETH share of priority fees + total rETH share of MEV rewards)

Since the Beacon Chain rewards, priority fees, and MEV rewards will constantly accumulate, this means that rETH's value effectively always increases relative to ETH. The rETH/ETH exchange rate is updated approximately every 24 hours based on the Beacon Chain rewards earned by Rocket Pool node operators.

To illustrate this point, here is a chart of rETH's value (relative to ETH) over time - as expected, it demonstrates slow but steady growth:

rETH/ETH exchange rate over time

Let's do a simple example as a demonstration.

Say you stake at the very beginning when 1 ETH = 1 rETH. You deposit 10 ETH and receive 10 rETH back.

After a few years, the balances on the Beacon Chain grow due to validator rewards. Say 128 ETH had been staked with Rocket Pool and the sum of all validator balances on the Beacon Chain was 160 ETH. Then 1 ETH would be worth (128/160) = 0.8 rETH; conversely, 1 rETH would be worth (160/128) = 1.25 ETH.

At this point, you could trade your 10 rETH back to Rocket Pool's smart contracts and receive 12.5 ETH in return.

This means as long as you are holding rETH, you are staking with Rocket Pool! You do not need to get it from Rocket Pool directly. For example, you can purchase rETH on an exchange; as every rETH token is exactly the same, you will automatically receive the benefits of staking just by holding the token!

NOTE

Trading rETH back for ETH directly with Rocket Pool is only possible when the staking pool has enough ETH in it to handle your trade. ETH in this pool comes from two sources:

  1. ETH that other stakers have deposited, which hasn't been used by a node operator to create a new validator yet
  2. ETH that was returned by a node operator after they exited one of their validators and received their rewards from the Beacon Chain

It's possible that if node operators have put all of the staking pool to work on the Beacon chain, then the liquidity pool won't have enough balance to cover your unstaking. In this scenario, you may find other ways to trade your rETH back to ETH (such as a decentralized exchange like Uniswap) - though they will likely come with a small premium.

As an alternative to holding onto and eventually returning your rETH to the Rocket Pool, you are also free to use it in DeFi applications. You can trade it, lend it, use it as collateral... as rETH is a standard ERC20 token, you can use it in any way you could use any other token.

#Tax Implications

Each country has its own tax laws, and it would be impossible to document them all here.
In some countries, depositing ETH for rETH may be considered a taxable event. However, because rETH inherently accumulates value while the actual amount of the token you hold remains constant, simply holding it usually does not generate any taxable events.

This may make rETH a preferable staking token for long-term holding if your country separates short-term and long-term capital gains taxes.

Tax laws related to cryptocurrencies are in their infancy; each user should do their own research and consider speaking with a tax professional.

Below are some helpful sites that offer tax assistance to users related to Ethereum. This is not an official endorsement - users are advised to do their own research regarding tax implications and strategies:

  • https://koinly.io/
  • https://cryptotaxcalculator.io/
  • https://rotki.com/

#How to Stake with Rocket Pool

As described above, as long as you are holding the rETH token, you are a Rocket Pool Staker. We will summarize several common ways to acquire it here.

NOTE

All of the methods described here rely on the usage of an Ethereum wallet such as MetaMask. If you have never used an Ethereum wallet before, we strongly encourage you to learn more about them and practice using them before staking with Rocket Pool. The sections below include some steps that are demonstrated with MetaMask as an example; they should translate to your wallet of choice easily enough for you to follow along.

#Via Rocket Pool Directly

With this method, you will use a web3 wallet (such as MetaMask) and interact with Rocket Pool's website to swap ETH for rETH and vice-versa. This method is guaranteed to provide you with the exact amount of rETH that your ETH is worth, since it's coming directly from Rocket Pool's smart contracts, but it can be somewhat expensive if the network's gas prices are high and you're staking a relatively small amount of ETH.

NOTE

If you are practicing staking on the Hoodi Testnet, the direct method above is the only option currently supported.

Click here to learn how to stake via Rocket Pool directly.

#Via a Decentralized Exchange on Ethereum (Layer 1)

With this method, you will access a decentralized exchange such as Balancer or Uniswap and purchase rETH using your token of choice, just like you would do any other token swap.

Rocket Pool has officially created a Balancer composable stable pool. Composable stable pools are ideal for tokens like rETH, because they honor the true exchange rate reported by the Oracle DAO - this means exchanging with it will have much lower slippage and lower fees than a conventional decentralized exchange, so you get a much better deal when buying or selling rETH.

Because of this, and because it has a smaller transaction fee than swapping directly via Rocket Pool's website, we strongly recommended using Balancer if you want to stake via this route.

If Balancer doesn't work for you, there is also an ETH-rETH liquidity pool on Uniswap. Note that this is a conventional pool, so you will be affected by slippage and higher fees if you use it, but the gas fee will still be lower than staking directly via Rocket Pool's website.

Click here to learn how to swap ETH for rETH via a decentralized exchange on Layer 1.

#Via a Decentralized Exchange on a Layer 2 Network

With this method, you will start by bridging your existing ETH (or other tokens of choice) onto an Ethereum Layer 2 network such as Optimism or Arbitrum and then use a decentralized exchange on the network to purchase rETH. If you already have tokens on a Layer 2 network, this method is compelling because the transaction fees are ~10x smaller than on the Ethereum mainnet. However, if you have not used a Layer 2 network before, it does require a few additional steps to get set up.

Click here to learn how to swap ETH for rETH via a decentralized exchange on a Layer 2 network.

#Video Demonstration

Community member Kevster has put together a helpful video that demonstrates each of these options step-by-step:

For a more detailed writeup, select which method you would like to use from the links above and follow the guide for that section.