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 PageMasquerading as Another Node Address
Next PagePruning the Execution Client

#Expiring Pre-Merge History

All Execution clients now support partial history expiry in accordance to EIP-4444. Users can substantially reduce the storage requirements for their node by removing pre-merge block history starting in Smartnode version v1.17.0. Feel free to check out this blog post to learn more about partial history expiry: https://blog.ethereum.org/2025/07/08/partial-history-exp

NOTE

Please keep in mind that the steps to remove pre-merge history depend on your node's selected Execution client:

  • Nethermind users will need a full resync to remove pre-merge history.
  • Geth users can use the rocketpool service prune-eth1 command or conduct a full resync.
  • Besu and Reth users can perform an online prune while their node continues to attest.

The following steps to remove pre-merge history are for Docker mode nodes only. If you are using an external client in Hybrid mode or Native mode, please refer to the documentation provided by your Execution client.

Start by opening the Settings Manager:

rocketpool service config

To change the Execution Client pruning mode, go to the Execution Client (ETH1) menu and select the History Expiry setting in the dropdown menu for Pruning Mode

After you've made the selection, press escape to return to the main menu, then press tab to highlight the Review Changes and Save button. Press the enter key to continue. You'll be presented with a menu to preview the changes to your Execution client settings.

Press the enter key on Save Settings to save and exit the Settings Manager, then enter y to restart your rocketpool_eth1 container.

Your changes have been saved!
The following containers must be restarted for the changes to take effect:
	rocketpool_eth1
Would you like to restart them automatically now? [y/n]

From this point on, the steps differ depending on which Execution client you're using:

Nethermind
Geth
Besu
Reth

Nethermind nodes require a full resync to remove pre-merge history. You must resync your Execution client after saving the History Expiry setting and restarting your eth1 container.

WARNING

If you don't have a fallback node configured, your node will stop validating during a resync. A fallback node will allow your primary node to continue attesting and proposing blocks during a prune or resync. Click here to learn how to configure a fallback node.

Use the following command to resync your Execution client:

rocketpool service resync-eth1

You're all set! The node will no longer store pre-merge data, substantially improving the feasibility of fitting a node on a 2 TB drive. We recommend monitoring the progress using the following command.

rocketpool service logs eth1