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:
- Ensure that you have access to a fully synced beacon node.
- 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). - 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 thevalidator exit
command. - Confirm your understanding of the consequences of exiting your validator by typing
Exit my validator
when prompted.
Looking for a particular phrase to perform a voluntary exit in Prysm? Read step 4 in the above steps!
After providing confirmation, voluntary exit request will be broadcasted through your beacon node. Visit our Command-line options documentation for more configuration options.
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.
- Linux
- Windows
- Mac
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.
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>
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 //cmd/prysmctl --config=release -- validator exit --wallet-dir=/wallet --beacon-rpc-provider=<127.0.0.1:4000>
The following command is a soon-to-be-deprecated alternative that you should avoid using:
bazel run //cmd/validator --config=release -- accounts voluntary-exit
prysmctl validator exit --wallet-dir=<path/to/wallet> --beacon-rpc-provider=<127.0.0.1:4000>
Using Prysm.bat
prysmctl validator exit --wallet-dir=<path/to/wallet> --beacon-rpc-provider=<127.0.0.1:4000>
prysmctl
is not accessible from prysm.bat
and will need to be built from source or downloaded from our release page.
The following command is a soon-to-be-deprecated alternative that you should avoid using:
prysm.bat validator accounts voluntary-exit
Using Docker
docker run -it -v %LOCALAPPDATA%\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>
The following command is a soon-to-be-deprecated alternative that you should avoid using:
docker run -it -v %LOCALAPPDATA%\Eth2Validators\prysm-wallet-v2:/wallet gcr.io/prysmaticlabs/prysm/validator:latest accounts voluntary-exit --wallet-dir=/wallet
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.
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>
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 //cmd/prysmctl --config=release -- validator exit --wallet-dir=/wallet --beacon-rpc-provider=<127.0.0.1:4000>
The following command is a soon-to-be-deprecated alternative that you should avoid using:
bazel run //cmd/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
.