Rocket Pool is a next generation Ethereum Proof-of-Stake (PoS) infrastructure service designed to be highly decentralised, distributed, and compatible with Ethereum's new consensus protocol.
Running a Rocket Pool smart node allows you to stake on Ethereum with only 16 ETH and 1.6 ETH worth of Rocket Pool's RPL token. You can earn a higher return than you would outside the network by capturing an additional 15% commission on staked ETH as well as RPL rewards.
This repository contains the source code for:
- The Rocket Pool Smartnode client (CLI), which is used to manage a smart node either locally or remotely (over SSH)
- The Rocket Pool Smartnode service, which provides an API for client communication and performs background node tasks
The Smartnode service is designed to be run as part of a Docker stack and generally does not need to be installed manually. See the Rocket Pool dockerhub page for a complete list of Docker images.
See the Smartnode Installer repository for supported platforms and installation instructions.
The following commands are available via the Smartnode client:
- auction, a - Manage Rocket Pool RPL auctions
rocketpool auction status, s
- Get RPL auction statusrocketpool auction lots, l
- Get RPL lots for auctionrocketpool auction create-lot, t
- Create a new lotrocketpool auction bid-lot, b
- Bid on a lotrocketpool auction claim-lot, c
- Claim RPL from a lotrocketpool auction recover-lot, r
- Recover unclaimed RPL from a lot (returning it to the auction contract)
- minipool, m - Manage the node's minipools
rocketpool minipool status, s
- Get a list of the node's minipoolsrocketpool minipool stake, t
- Stake a minipool after the scrub check, moving it from prelaunch to staking.rocketpool minipool refund, r
- Refund ETH belonging to the node from minipoolsrocketpool minipool exit, e
- Exit staking minipools from the beacon chainrocketpool minipool delegate-upgrade, u
- Upgrade a minipool's delegate contract to the latest versionrocketpool minipool delegate-rollback, b
- Roll a minipool's delegate contract back to its previous versionrocketpool minipool set-use-latest-delegate, l
- If enabled, the minipool will ignore its current delegate contract and always use whatever the latest delegate isrocketpool minipool find-vanity-address, v
- Search for a custom vanity minipool address
- network, e - Manage Rocket Pool network parameters
rocketpool network stats, s
- Get stats about the Rocket Pool network and its tokensrocketpool network timezone-map, t
- Shows a table of the timezones that node operators belong torocketpool network node-fee, f
- Get the current network node commission raterocketpool network rpl-price, p
- Get the current network RPL price in ETHrocketpool network generate-rewards-tree, g
- Generate and save the rewards tree file for the provided interval. Note that this is an asynchronous process, so it will return before the file is generated. You will need to userocketpool service logs api
to follow its progress.rocketpool network dao-proposals, d
- Get the currently active DAO proposals
- node, n - Manage the node
rocketpool node status, s
- Get the node's statusrocketpool node sync, y
- Get the sync progress of the eth1 and eth2 clientsrocketpool node register, r
- Register the node with Rocket Poolrocketpool node rewards, e
- Get the time and your expected RPL rewards of the next checkpointrocketpool node set-withdrawal-address, w
- Set the node's withdrawal addressrocketpool node confirm-withdrawal-address, f
- Confirm the node's pending withdrawal address if it has been set back to the node's address itselfrocketpool node set-timezone, t
- Set the node's timezone locationrocketpool node swap-rpl, p
- Swap old RPL for new RPLrocketpool node stake-rpl, k
- Stake RPL against the noderocketpool node claim-rewards, c
- Claim available RPL and ETH rewards for any checkpoint you haven't claimed yetrocketpool node withdraw-rpl, i
- Withdraw RPL staked against the noderocketpool node deposit, d
- Make a deposit and create a minipoolrocketpool node send, n
- Send ETH or tokens from the node account to an addressrocketpool node set-voting-delegate, sv
- Set the address you want to use when voting on Rocket Pool governance proposals, or the address you want to delegate your voting power to.rocketpool node clear-voting-delegate, cv
- Remove the address you've set for voting on Rocket Pool governance proposals.rocketpool node initialize-fee-distributor, z
- Create the fee distributor contract for your node, so you can withdraw priority fees and MEV rewards after the mergerocketpool node distribute-fees, b
- Distribute the priority fee and MEV rewards from your fee distributor to your withdrawal address and the rETH contract (based on your node's average commission` -rocketpool node join-smoothing-pool, js
- Opt your node into the Smoothing Poolrocketpool node leave-smoothing-pool, ls
- Leave the Smoothing Poolrocketpool node sign-message, sm
- Sign an arbitrary message with the node's private key
- odao, o - Manage the Rocket Pool oracle DAO
rocketpool odao status, s
- Get oracle DAO statusrocketpool odao members, m
- Get the oracle DAO membersrocketpool odao member-settings, b
- Get the oracle DAO settings related to oracle DAO membersrocketpool odao proposal-settings, a
- Get the oracle DAO settings related to oracle DAO proposalsrocketpool odao minipool-settings, i
- Get the oracle DAO settings related to minipoolsrocketpool odao propose, p
- Make an oracle DAO proposalrocketpool odao proposals, o
- Manage oracle DAO proposalsrocketpool odao join, j
- Join the oracle DAO (requires an executed invite proposal)rocketpool odao leave, l
- Leave the oracle DAO (requires an executed leave proposal)
- queue, q - Manage the Rocket Pool deposit queue
rocketpool queue status, s
- Get the deposit pool and minipool queue statusrocketpool queue process, p
- Process the deposit pool
- service, s - Manage Rocket Pool service
rocketpool service install, i
- Install the Rocket Pool servicerocketpool service config, c
- Configure the Rocket Pool servicerocketpool service status, u
- View the Rocket Pool service statusrocketpool service start, s
- Start the Rocket Pool servicerocketpool service pause, p
- Pause the Rocket Pool servicerocketpool service stop, o
- Pause the Rocket Pool service (alias of 'rocketpool service pause')rocketpool service logs, l
- View the Rocket Pool service logsrocketpool service stats, a
- View the Rocket Pool service statsrocketpool service compose
- View the Rocket Pool service docker compose configrocketpool service version, v
- View the Rocket Pool service version informationrocketpool service prune-eth1, n
- Shuts down the main ETH1 client and prunes its database, freeing up disk space, then restarts it when it's done.rocketpool service install-update-tracker, d
- Install the update tracker that provides the available system update count to the metrics dashboardrocketpool service get-config-yaml
- Generate YAML that shows the current configuration schema, including all of the parameters and their descriptionsrocketpool service export-eth1-data
- Exports the execution client (eth1) chain data to an external folder. Use this if you want to back up your chain data before switching execution clients.rocketpool service import-eth1-data
- Imports execution client (eth1) chain data from an external folder. Use this if you want to restore the data from an execution client that you previously backed up.rocketpool service resync-eth1
- Deletes the main ETH1 client's chain data and resyncs it from scratch. Only use this as a last resort!rocketpool service resync-eth2
- Deletes the ETH2 client's chain data and resyncs it from scratch. Only use this as a last resort!rocketpool service terminate, t
- Deletes all of the Rocket Pool Docker containers and volumes, including your ETH1 and ETH2 chain data and your Prometheus database (if metrics are enabled). Only use this if you are cleaning up the Smartnode and want to start over!
- wallet, w - Manage the node wallet
rocketpool wallet status, s
- Get the node wallet statusrocketpool wallet init, i
- Initialize the node walletrocketpool wallet recover, r
- Recover a node wallet from a mnemonic phraserocketpool wallet rebuild, b
- Rebuild validator keystores from derived keysrocketpool wallet test-recovery, t
- Test recovering a node wallet without actually generating any of the node wallet or validator key files to ensure the process works as expectedrocketpool wallet export, e
- Export the node wallet in JSON formatrocketpool wallet purge
- Deletes your node wallet, your validator keys, and restarts your Validator Client while preserving your chain data. WARNING: Only use this if you want to stop validating with this machine!rocketpool wallet set-ens-name
- Send a transaction from the node wallet to configure it's ENS name
- help, h - Shows a list of commands or help for one command
rocketpool --allow-root, -r
- Allow rocketpool to be run as the root userrocketpool --config-path path, -c path
- Rocket Pool config asset path (default: "~/.rocketpool")rocketpool --daemon-path path, -d path
- Interact with a Rocket Pool service daemon at a path on the host OS, running outside of dockerrocketpool --maxFee value, -f value
- The max fee (including the priority fee) you want a transaction to cost, in gwei (default: 0)rocketpool --maxPrioFee value, -i value
- The max priority fee you want a transaction to use, in gwei (default: 0)rocketpool --gasLimit value, -l value
- [DEPRECATED] Desired gas limit (default: 0)rocketpool --nonce value
- Use this flag to explicitly specify the nonce that this transaction should use, so it can override an existing 'stuck' transactionrocketpool --debug
- Enable debug printing of API commandsrocketpool --secure-session, -s
- Some commands may print sensitive information to your terminal. Use this flag when nobody can see your screen to allow sensitive data to be printed without promptingrocketpool --help, -h
- show helprocketpool --version, -v
- print the version