Skip to main content

Exit your validator

Voluntarily exiting your validator from the Ethereum network is a one time command using the prysmctl tool. Note that this operation was previously facilitated by a command exposed by the Prysm validator client, and can still be accessed that way. At a high level, you'll follow these steps to exit your validator:

  1. Ensure that you have access to a fully synced beacon node.
  2. Issue the validator exit command to your validator and allow the beacon node to access to your validator keys through the --wallet-dir flag or web3signer and the --beacon-rpc-provider flag (examples provided below).
  3. Select the account(s) that should be exited. This step can be skipped by specifying the account(s) via the --public-keys flag when issuing the validator exit command.
  4. Confirm your understanding of the consequences of exiting your validator by typing Exit my validator when prompted.

After providing confirmation, voluntary exit request will be broadcasted through your beacon node. Visit our Command-line options documentation for more configuration options.

caution

Voluntarily exiting will not withdraw fund, validators must have their withdrawal_credentials updated in addition to exiting to withdraw the entire balance. Learn more on how to withdraw earnings or fully withdraw your validator in our guide

The validator-exit command only supports gRPC, which means that the specified beacon-rpc-provider needs to be a Prysm beacon node (because Prysm's beacon node client is the only client that supports gRPC)

Examples below use the local prysm wallet, if you are using web3signer, replace the wallet-dir flag with the flags used to run the validator with web3signer.

prysmctl validator exit --wallet-dir=<path/to/wallet> --beacon-rpc-provider=<127.0.0.1:4000> 

prysmctl is not accessible from prysm.sh and will need to be built from source or downloaded from our release page.

caution

The following command is a soon-to-be-deprecated alternative that you should avoid using:

./prysm.sh validator accounts voluntary-exit

Using Docker

docker run -it -v $HOME/Eth2Validators/prysm-wallet-v2:/wallet \
gcr.io/prysmaticlabs/prysm/cmd/prysmctl:latest \
validator exit --wallet-dir=/wallet --beacon-rpc-provider=<127.0.0.1:4000>
caution

The following command is a soon-to-be-deprecated alternative that you should avoid using:

docker run -it -v $HOME/Eth2Validators/prysm-wallet-v2:/wallet \
gcr.io/prysmaticlabs/prysm/validator:latest \
accounts voluntary-exit --wallet-dir=/wallet

Using Bazel

bazel run //prysmctl --config=release -- validator exit --wallet-dir=/wallet --beacon-rpc-provider=<127.0.0.1:4000> 
caution

The following command is a soon-to-be-deprecated alternative that you should avoid using:

bazel run //validator --config=release -- accounts voluntary-exit

Note: The above-referenced commands that are being deprecated have not been removed yet, but mirror those found in prysmctl.