Skip to main content

Check node and validator status

Select a configuration#

Status checklist#

Use the following checklist to check the status of your nodes and validators. If you run into issues, generate a troubleshooting report using our troubleshooting checklist.

If you end up generating a troubleshooting report, your report will include your selected configuration.

Many common issues are resolved by the steps in our Prepare for The Merge checklist. We recommend completing this Merge preparation checklist before proceeding here.

You can check your Geth execution node's sync status by running geth attach and then eth.syncing from a separate terminal window. A sync status of false indicates that your node is fully synced.

You should periodically see more than a few peers reported through Geth's log output. Look for output in the format of peercount=12. Refer to Geth's Connecting To The Network documentation for more detailed peer health monitoring guidance.

Use geth version to check Geth's version. See Geth's releases page and join their Discord to stay up to date as we approach Mainnet Merge.

You can check your beacon node's sync status by running curl http://localhost:3500/eth/v1/node/syncing | jq from a separate terminal window. When you see "is_syncing":false, your beacon node is fully synchronized with the beacon chain. When you see "is_optimistic":false, your beacon node sees that your execution node is either 1) not yet started, 2) hasn't synced past the merge block or 3) fully synchronized with the execution-layer blockchain.

You should periodically see more than a few peers reported through your beacon node's log output. Look for output in the format of peers=12. You can issue curl http://localhost:8080/healthz from a separate terminal window to check connectivity status. If you see currentConnectionError: no contract code at given address, your execution node may still be syncing. Otherwise, if you don't see any errors, your beacon node is connected to peers.

Ensure that you're using the latest stable Prysm release. Check Prysm's version by issuing the following command: prysm.sh beacon-chain --version (Linux) prysm.bat beacon-chain --version (Windows).

Issue curl http://localhost:3500/eth/v1alpha1/node/eth1/connections from a separate terminal window. If you see currentConnectionError: no contract code at given address, your execution node may still be syncing. Otherwise, if you don't see any errors, your beacon node is connected to your execution node. This output can be interpreted as "EN-BN connection is healthy": {"currentAddress":"http://localhost:8551","currentConnectionError":"","addresses":["http://localhost:8551"],"connectionErrors":[]}

Prysm will output an error if you attempt to provide an invalid Ethereum wallet address as a fee recipient address. You'll see warnings if a fee recipient address hasn't been provided. See Configure Fee Recipient for more information.

Paste your validator's public key (available in your deposit_data-*.json file) into a blockchain explorer like beaconcha.in to check the status of your validator.

Running into unexpected output, warnings, or errors? Although this is unintuitive, many errors and warnings are expected and have been identified in the below list of troubleshooting scenarios and solutions. We gratefully ask that you review this before asking for support.

Issue still not resolved? Generate a troubleshooting report below. Head over to Discord and paste your report for additional troubleshooting assistance.

Running into unexpected output? Generate a troubleshooting report using our troubleshooting checklist and share it with us on Discord.