Joining Eth2 Mainnet

This section outlines the step-by-step process for how to join eth2 mainnet to run a Prysm eth2 beacon node and validator.


Ensure You Are Not Being Scammed

The correct address for the launchpad is and the only, official validator deposit contract is 0x00000000219ab540356cbb839cbe05303d7705fa. Do not send ETH directly to the contract, and only join by using the eth2 launchpad.

Step 1: Get Prysm

To begin, follow the instructions to fetch and install Prysm for your operating system.

Step 2: Run your beacon node


Beacon node

First, let's run a beacon node connected to the main eth2 network. To run a beacon node, you will need access to an eth1 node. We have dedicated instructions for this here.

Note: <YOUR_ETH1_NODE_ENDPOINT> is in the format of an http endpoint such as http://host:port (ex: http://localhost:8545 for geth) or an IPC path such as /path/to/geth.ipc.

Using the Prysm installation script

./ beacon-chain --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT>

Using Docker

docker run -it -v $HOME/.eth2:/data -p 4000:4000 -p 13000:13000 -p 12000:12000/udp --name beacon-node \ \
--datadir=/data \
--rpc-host= \
--monitoring-host= \

Using Bazel

bazel run //beacon-chain --config=release -- --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT>
Syncing your node

The beacon-chain node you are using should be completely synced before submitting your deposit. You may incur minor inactivity balance penalties if the validator is unable to perform its duties by the time the deposit is processed and activated by the ETH2 network. You do not need to worry about this if the chain has not started yet.

Step 3: Complete the onboarding process in the official eth2 launchpad

The Official Eth2 Launchpad is the easiest way to go through a step-by-step process to deposit your 32 ETH to become a validator. Throughout the process, you'll be asked to generate new validator credentials using the official Ethereum deposit command-line-tool here. Make sure you use the mainnet option when generating keys with the deposit CLI. During the process, you will have generated a validator_keys folder under the eth2.0-deposit-cli directory. You can import all of your validator accounts into Prysm from that folder in the next step.

Step 4: Import your validator accounts into Prysm

For this step, you'll need to copy the path to the validator_keys folder under the eth2.0-deposit-cli directory you created during the launchpad process. For example, if your eth2.0-deposit-cli installation is in your $HOME (or %LOCALAPPDATA% on Windows) directory, you can then run the following commands for your operating system

Note: You will be asked to do a one time acknowledgement of our Terms of Use. You can also read the legal terms first, then confirm them via a flag using --accept-terms-of-use in both your beacon node and validator.

Using the Prysm installation script

./ validator accounts import --keys-dir=$HOME/eth2.0-deposit-cli/validator_keys

Using Docker

docker run -it -v $HOME/eth2.0-deposit-cli/validator_keys:/keys \
-v $HOME/Eth2Validators/prysm-wallet-v2:/wallet \
--name validator \ \
accounts import --keys-dir=/keys --wallet-dir=/wallet

Using Bazel

bazel run //validator:validator -- accounts import --keys-dir=$HOME/eth2.0-deposit-cli/validator_keys

Step 5: Run your validator

Open a second terminal window. Depending on your platform, issue the appropriate command from the examples below to start the validator.

Using the Prysm installation script

./ validator

Using Docker

docker run -it -v $HOME/Eth2Validators/prysm-wallet-v2:/wallet \
-v $HOME/Eth2:/validatorDB \
--network="host" --name validator \ \
--beacon-rpc-provider= \
--wallet-dir=/wallet \

Using Bazel

bazel run //validator --config=release

Step 6: Wait for your validator assignment

Please note that it may take from 5-12 hours for nodes in the ETH2 network to process a deposit. In the meantime, leave both terminal windows open and running; once the validator is activated by the ETH2 network, it will immediately begin receiving tasks and performing its responsibilities. If the eth2 chain has not yet started, the validator will be ready to start proposing blocks and signing votes as soon as the genesis time is reached.

To check on the status of your validator, we recommend checking out the popular block explorers: by Bitfly and by the Etherscan team.


Advanced wallet setups

For running an advanced wallet setups, our documentation includes comprehensive guides as to how to use the wallet built into Prysm to recover another wallet, use a remote signing server, and more. You can read more about it here.

Congratulations, you are now fully participating in eth2

Still have questions? Stop by our Discord for further assistance!