Skip to main content

Deposit for a new validator

Your validator is created once you deposit ETH into the deposit contract along with your deposit data.

Operating system
Network

Use the official Staking Launchpad: it checks your deposit_data-*.json file and sends the transaction from your wallet.

Before you begin​

  • Have your deposit_data-*.json file. See Create validator keys.
  • Have your node ready: execution client and beacon node synced, keys imported, fee recipient set. A validator that activates while your node is down loses balance. See Import keys.
  • Have a wallet (browser extension or hardware wallet) with the deposit amount plus gas.
Only use the official launchpad

Scam sites copy the launchpad and send your deposit to their own contract. Type the address yourself or use a bookmark; never follow links from ads, search results, chats, or emails.

Before you sign, check that the transaction goes to exactly this contract address. You can compare it with ethereum.org.

Never send ETH to the deposit contract with a plain transfer or from an exchange. A deposit needs the signed data from your file.

Deposit through the launchpad​

  1. Open the launchpad (address above) and read through its checklist.

  2. Choose your clients. Select Prysm and your execution client. This only tailors the launchpad's instructions.

  3. Upload deposit_data-*.json. The launchpad checks the network, amounts, signatures, and that the keys weren't deposited before. If it rejects the file, don't work around it; the usual cause is keys made for another network.

  4. Connect your wallet and check that it's on the same network as the launchpad.

  5. Send the deposit. The launchpad creates one transaction per validator. In your wallet, check that each goes to the deposit contract above and that the amount matches (32 ETH for a standard validator).

  6. Keep the transaction hashes the launchpad shows at the end.

How long until it's active​

After the deposit transaction is included, the beacon chain processes it, adds your validator, and then activates it.

  • With no queue, on a healthy, finalizing network, this takes about 10 epochs (about an hour).
  • When many people stake at once, deposits wait in a queue, which can take days or weeks.
  • When the network doesn't finalize, which is extremely rare, deposits aren't processed, and validators aren't activated until finality resumes.

You can see the current entry queue on a block explorer such as https://beaconcha.in. Keep your node running the whole time: once active, your validator has duties from its first epoch.

Check that it works​

Ask your own beacon node about the validator:

curl -s http://127.0.0.1:3500/eth/v1/beacon/states/head/validators/<VALIDATOR_PUBKEY> | jq '.data.status'
StatusMeaning
None (the response says Unknown validator)The deposit isn't processed yet. Wait.
pending_initialized or pending_queuedDeposit processed, waiting for activation.
active_ongoingActive. Check that your validator attests.