Skip to main content

Table of contents

Prysm is an Ethereum proof-of-stake client written in Go. You can use Prysm to participate in Ethereum's decentralized economy by running a node and, if you have 32 ETH to stake, a validator. If you're new to Ethereum, you may enjoy our beginner-friendly Nodes and networks explainer.

The following table of contents provides a descriptive overview of Prysm's documentation:

Quickstart: Run a node and (optionally) stake ETH using Prysm

New Prysm users can follow this guidance to get started with Prysm.

Configure for The Merge

Current Prysm users who are running pre-Merge configuration can follow this guidance for post-Merge configuration instructions.

Security best practices

Learn how to minimize risk as a validator. The guidelines provided in this document are client-agnostic (they apply to Prysm and other clients, too).

Command-line options

Learn how to configure Prysm's beacon node client, validator client, and more through its command-line interface.

Troubleshooting

Review common troubleshooting scenarios and solutions.

Frequently asked questions

Review frequently asked questions and answers.

Advanced installation guides#

This section contains alternatives to the script-based installation guidance provided within our Quickstart.

Install using Docker

Learn how to install Prysm using preconfigured Docker images that ship with every Prysm release.

Build from source

Learn how to build Prysm from source using Bazel.

How-tos#

This section contains procedural documentation that walks you through specific tasks related to Prysm.

Configure Fee Recipient

Learn how to specify a Fee Recipient wallet address that allows validators to earn transaction fee tips post-Merge.

Configure JWT authentication

Prysm needs to securely connect to a local execution node. This how-to shows you how to form this secure connection using a JWT token.

Update and downgrade Prysm

Learn how to keep Prysm updated, how to downgrade Prysm, and how to use release candidates.

Sync from a checkpoint

Syncing from a checkpoint significantly reduces the time it takes for Prysm's beacon node to sync by piggypacking off of another fully-synced node.

Check node and validator status

Learn how to check the status of your execution node, beacon node, and validator.

Run a slasher

Learn how to run a slasher, an optional beacon node process that detects and reports slashable offenses on the Ethereum proof-of-stake network.

Run an archival node

Learn how to run your beacon node as an archival node. Archival nodes are like regular beacon nodes that are configured to store more blockchain data locally, increasing data retrieval performance in exchange for increased data storage requirements.

Backups and migrations#

This subsection contains how-tos that help you back up and migrate Prysm's data.

Back up & restore database

Learn how to back up and restore your beacon node and validator databases so you can minimize downtime in the event of a system failure.

Import & export slashing protection history

Learn how to import and export your slashing protection history database, a special-purpose database that protects your validator from slashable events.

Move to a new machine

Learn how to migrate from one host system to another while minimizing risk of slashing and downtime.

Switch to a new client

Learn how to migrate from one client to another while minimizing risk of slashing and downtime.

Validator and wallet management#

This subsection contains how-tos that help you manage your validator and associated keys/wallets.

Create a Prysm wallet

Learn how to create a wallet using Prysm.

Import keys into a Prysm wallet

Learn how to import EIP-2335 keystore files into Prysm, such as those generated by the Ethereum deposit CLI.

Maintain validator uptime with systemd or Docker

Learn how to minimize validator downtime by running your validator as a background service through either Docker or systemd.

Use Web3Signer

Learn how to use Web3Signer, an open-source remote signing service that allows you to store your validator keys remotely instead of locally.

Add graffiti to blocks

Learn how to configure your validator to add graffiti to the blocks that it proposes.

Exit your validator

Learn how to voluntarily exit your validator from Ethereum's consensus layer Beacon Chain network.

Monitoring, metrics, and alerts#

This subsection contains how-tos that help you configure monitoring and alerts for Prysm.

Monitor Prysm for expected behavior

Learn how to assess the health of your Prysm beacon node and/or validator by analyzing output logs.

Monitor validators by index

Learn how to use Prysm to monitor block proposals, attestations, slashings, and more for any number of validators.

Configure dashboarding and alerts with Prometheus and Grafana

Learn how to configure dashboarding and alerts for your node, validator, and slasher using Prometheus (to aggregate data) and Grafana (to display it within a dashboard).

Collect metrics with client-stats

Learn how to collect beacon node and validator metrics using Prysm's client-stats utility. This can be used to relay metrics data to the beaconcha.in stats service.

Use Prysm's Web UI

Prysm's Web UI can be used to monitor and configure your beacon node and validator on localhost using an app-like interface.

Managing connections#

This subsection contains how-tos that will help you manage your gRPC and P2P connectivity.

Secure gRPC connections

Learn how to create and configure TLS certificates that enable secure gRPC connections to your beacon node.

Configure ports and firewalls for improved network connectivity

Learn how to configure ports and firewalls so your node can build stronger connections with more peers.

Concepts#

This section contains beginner-friendly conceptual guidance authored for readers who are new to Prysm and/or Ethereum.

Nodes and networks

Learn about the various node types, networks, network layers, and how it all relates.

Keys, wallets, and accounts

Learn how keys, wallets, and accounts relate to each other within the context of Prysm and Ethereum.

Slashing

Learn about slashing, a mechanism that incentivizes Ethereum nodes to detect and punish malicious actors in the Ethereum network.

Developer wiki#

This section contains documents targeted at developers who want to contribute to Prysm's codebase.

APIs#

Developer concepts#

Misc#


Need assistance?#

Join our Discord server - a member of the team or our community will be happy to help.