Deposit for a new validator
Your validator is created once you deposit ETH into the deposit contract along with your deposit data.
Use the official Staking Launchpad: it checks your deposit_data-*.json file and sends the transaction from your wallet.
Use the official EthStaker console: it checks your deposit_data-*.json file and sends the transaction from your wallet.
Before you begin
- Have your
deposit_data-*.jsonfile. 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.
- Have your
deposit_data-*.jsonfile. 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. Get Hoodi ETH for free from a faucet, such as the Google Cloud Hoodi faucet or the pk910 Hoodi PoW faucet. A faucet only needs an address: never give one your mnemonic or private key.
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.
- Launchpad: https://launchpad.ethereum.org/
- Deposit contract:
0x00000000219ab540356cBB839Cbe05303d7705Fa
Before you sign, check that the transaction goes to exactly this contract address. You can compare it with ethereum.org.
deposits aren’t processed
Scam sites copy the console 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.
- Deposit page: https://hoodi.console.ethstaker.org/deposit
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
-
Open the launchpad (address above) and read through its checklist.
-
Choose your clients. Select Prysm and your execution client. This only tailors the launchpad's instructions.
-
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. -
Connect your wallet and check that it's on the same network as the launchpad.
-
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).
-
Keep the transaction hashes the launchpad shows at the end.
Deposit through the console
-
Open the console (address above) and read through its checklist.
-
Upload
deposit_data-*.json. The console 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. -
Connect your wallet and check that it's on the same network as the console.
-
Send the deposit. The console sends one transaction for all your validators. In your wallet, check that the total amount matches (32 ETH per standard validator).
-
Keep the transaction hash the console 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.
- 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, 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'
curl.exe -s http://127.0.0.1:3500/eth/v1/beacon/states/head/validators/<VALIDATOR_PUBKEY>
| Status | Meaning |
|---|---|
None (the response says Unknown validator) | The deposit isn't processed yet. Wait. |
pending_initialized or pending_queued | Deposit processed, waiting for activation. |
active_ongoing | Active. Check that your validator attests. |