# Preparing your Node for Operation
If you're here, then you've successfully started the Smartnode services, created a wallet, and finished syncing both the Execution (ETH1) and Consensus (ETH2) chains on your respective clients. If so, then you are ready to register your node on the Rocket Pool network and create a minipool with an ETH2 validator! If not, please review the previous sections and return here once you've completed those steps.
Before creating a new minipool and ETH2 validator, there are a few steps to take to finish preparing your node. These only need to be done once though; once you've done them, you can skip to the Creating a New Minipool section if you want to create multiple minipools on your node.
# Loading your Node Wallet
Registering your node and standing up a validator both involve submitting transactions to the Ethereum network from your node wallet. This means you'll need to have some ETH on it to pay for the gas costs of those transactions. You'll also need to stake some of the RPL token prior to creating a minipool as collateral; you can do this directly on the node, or (preferably) you can use the Rocket Pool website's Stake on Behalf function to stake for your node with RPL in your cold wallet. We'll discuss the Stake on Behalf feature later in this guide when it's time to stake your RPL.
The ETH required for gas fees to set up a node with one minipool is about 0.0025 ETH times the current gas price in gwei. For example, with a gas price of 30 gwei, you would pay about 0.075 ETH in gas fees.
See this worksheet (opens new window) to help estimate the gas fees for various network conditions.
# Registering your Node with the Network
Once you have ETH in your wallet, you can register your node with the Rocket Pool network to access all of its features. To do this, run the following command:
rocketpool node register
This will prompt you for the timezone you want to register with.
By default, this will detect the timezone from your system clock, but you can change it if you prefer.
Any of the
Country/City format timezones listed on this page (opens new window) should be acceptable.
The timezone is just used for the global map of node operators displayed on the main site.
You don't need to set it to your actual timezone if you have security concerns.
If you prefer to remain anonymous, use a generic option such as
Once this is complete, you will officially be a member of the Rocket Pool network!
# Setting your Withdrawal Address
Before anything else, we highly recommended you change the withdrawal address for your node. This is the address that all of your RPL checkpoint rewards, your staked RPL, and your Beacon Chain ETH will be sent to when you claim your checkpoint rewards or exit your validator and withdraw from your minipool. To reiterate, whoever controls the withdrawal address can access ALL your staked RPL, ETH, and rewards.
Upon setting up your node for the first time, this is set to your node's wallet address. However, for security reasons, it is vitally important to set this to a different address controlled by a cold wallet. A cold wallet could be a hardware wallet (such as a Ledger (opens new window), Trezor (opens new window), or Grid+ (opens new window)), or a Smart Contract wallet (such as Argent (opens new window)).
We strongly recommend that you DO NOT use a hot wallet such as MetaMask as your withdrawal address.
This way, if your node wallet is compromised, the attacker doesn't get access to your staked ETH and RPL by forcing you to exit because all of those funds will be sent to your separate cold wallet (which they hopefully do not have).
Withdrawal addresses are set at a node operator level. If you create multiple minipools, they will all refer to the same withdrawal address so you only need to perform this setup once.
See here (opens new window) for some basics on wallet security from the Ethereum Foundation.
There are two different ways to do this. Please read both options below to determine which one applies to you.
Once this is done, you will no longer be able to change your withdrawal address using the
To change it, you will need to send a signed transaction from your active withdrawal address (the one you just switched to).
The Rocket Pool website has a function to help you do this.
# Setting your Voting Delegate Address
Rocket Pool's governance process uses Snapshot (opens new window) as the platform for hosting governance proposals. Voting on them is done in-browser, via a wallet like MetaMask or a bridge like WalletConnect. Node operators can vote on these proposals using the RPL they have staked (their effective stake).
Since your node's wallet should never leave your node (e.g. you should never import your mnemonic into MetaMask or another wallet), we have set up a system that allows you to delegate your node's voting power to a separate address. This could be another wallet (such as a MetaMask account) that you control, or you could delegate your voting power to one of the Node Operators that have elected to be official delegates (opens new window).
If you are an Allnodes user, you can use your node account as the voting address and can ignore the following guides. They are intended for normal Smartnode operators.
Setting up a voting delegate address that can vote on behalf of your node is a one-time action. Simply run the following command:
rocketpool node set-voting-delegate <address or ENS name>
The address or ENS name you use depends on whether you are voting yourself or you are delegating your vote to an official delegate. If you are voting yourself, use the address of the wallet you want to use in-browser (e.g. your MetaMask account, your hardware wallet, your Argent wallet, etc.).
As a reminder, DO NOT enter your node's wallet or mnemonic into MetaMask or any other wallet! The voting delegate feature is specifically designed to ensure you have no need to do this, which helps maintain the security of your node!
At anytime, you can reassign your voting power by setting the voting address from your node.
One limitation of Snapshot is that you must have delegated before the proposal you would like to vote on is created. We suggest that you set up your voting address or delegate early so that you don’t miss any proposal votes.
To learn more about how to participate in RocketPool governance, please check out this medium article (opens new window)
# Map an ENS Name to your Node Wallet
If you want your node wallet address to be mapped to a human-readable name like
alice.eth, follow these steps:
Purchase an ENS name at the official ENS website (opens new window).
Still at the ENS website, setup the forward resolution for the name, defining which address will be used when someone references your
- Select "My account"
- Click on the ENS name you want to edit
- Click on "Add/edit record"
- Insert your desired ETH address, click "Confirm" and submit the transaction.
- After the previous transaction is confirmed, you can use the Smartnode CLI to setup the reverse resolution. This will allow applications to map back from your node wallet address to your
Execute the command:
rocketpool wallet set-ens-name <your-ens-name.eth>
This action also requires sending a transaction. You'll need to confirm the desired parameters and submit the transaction.
Make sure you completed step 2 to setup the forward resolution before running the CLI command to setup the reverse resolution. This is a safety measure to stop wallets from trying to impersonate an ENS name they don't control.
- After the transaction was successfully included in a block, run
rocketpool node statusto see that your your wallet is now associated to your ENS name.
# Next Steps
The next steps to prepare your node will teach you about setting up a fallback node, how priority fees work, your Fee Distributor and the Smoothing Pool, and MEV. Each topic will require you to make a choice about how you want to run your node. Please move on to the next sections in the guide when you're ready.
Once you're done with those topics, you'll be guided through the process of making a minipool and earning staking rewards.