Stakers Guide

The goal of this guide is to help our larger stakers (multiples of 32 ETH : multiple validators) connect to our web application, generate private keys for communicating with our Node Operators, generate a mnemonic and validator keys, encrypt their validator keys, and stake through etherfi’s protocol.

Staker Best Practices

  1. Air gapped machine.

  2. Use a USB drive.

  3. Use a hardware wallet (ledger, trezor, …).

  4. Keep your mnemonic secure and offline. If it’s compromised, your ETH can be stolen.

  5. Keep your etherfi private keys secure and offline. If they’re compromised, your validator keys can be compromised, your validator slashed, and your ETH lost.

  • Note: etherfi is working on a desktop version 2.0 that will offer our users an embedded database with seamless encryption of sensitive keys and data.

Web App

Acquire enough ETH to run at least one validator, 32 ETH. Connect to ether.fi web application. Once connected, each Staker partner will perform a set of actions required to stake via the etherfi protocol.

Deposit into etherfi’s Staking Manager smart contract:

  • With a web browser, navigate to our webapp at: ether.fi.

    NOTE:

    If you are located within the United States of Canada, our proactive geofencing will prevent you from engaging with our protocol.

    In Phase 1, if you are not whitelisted by etherfi, you will be prevented from engaging with our protocol as a staker.

  • Connect your wallet, top right button:

You’ll be directed to the landing page with two options: Deposit in the Early Adopter Programme or Participate in our Limited Launch. Please click β€œParticipate” in the box to the right.

You will then be asked to deposit ETH in your wallet in increments of 32 ETH (amount required per validator). Please select the number of validators / amount of ETH you want to stake and click β€œContinue”. (Note: your ETH will be deposited into etherfi’s StakingManager contract where you’ll be allowed at all points to cancel your deposit, have your ETH returned to your wallet, and stop the staking process).

Next you’ll be asked to select a Node Operator in one of two ways: β€œSelect Node Operator” ( choose a specific node operator from a set of vetted, trusted, experience node operator partners ) or choose the β€œHighest Bid” in the validator auction. Revenue from the auction is shared with our Stakers.

Then you’ll be asked to confirm your price or operator’s bid. Select β€œConfirm”.

Your ETH will now be deposited in our StakingManager contract. You’ll be asked to download a stakeInfo file that will contain relevant information about your node operator and the price paid to run your validator. Click the download Icon.

Your stakeInfo file should be saved a directory that’s easy to identify. The current flow will require a few more files to manage, and they should all be kept together, grouped logically in a way that makes sense to the individual staker. Next, click β€œContinue”.

Next you’ll be prompted to download the desktop app. If you don’t already have it on your air gapped machine, download it with the same download icon.

If you don’t have the ability to download the desktop app (0 bytes alert), there should be a link to take you to releases on etherfi’s github where you can click β€œAssets” and the version that matches your current operating system.

Save the file to your machine, Unzip it, double click on the application to run it. You should see an interface like the following on mac (if you are prevented from opening the application, on a mac go to apple > system preferences > security and privacy and see if β€œAllow apps downloaded from:” has BOTH app store and identified developers selected; if not, click on the lock, select, lock again). Click open:

You should now be using the desktop application. On the top right, select Staker.

Now, you’ll upload the stakeinfo-,.json file you previously downloaded from the etherfi web app by clicking on the β€œClick to Select File” area, selecting it, then click β€œProceed”.

You’ll then be asked to β€œGenerate Mnemonic” (click it), then β€œCopy” the phrase (by either clicking the copy icon or manually highlighting and copying) and β€” KEEP IT OFFLINE and SECURED. This is the phrase that’s used to generate your validator keys. Anyone who obtains this mnemonic phrase can recreate all your validator keys, run duplicates of your validators, double sign transactions, and get your validator ejected as well as your ETH slashed.

Click β€œContinue”.

Confirm your mnemonic phrase, then click β€œContinue”.

Next, you’ll Enter a Password. This password is used to encrypt your validator keys. Without it, a bad actor cannot decrypt your keys and / or use them. Again, please keep this safe, coupled with your generated mnemonic and keys, and offline. When done, click β€œContinue”.

Now, we’ll specify a place on our local drive to save the keys, β€œBrowse Folders”.

Select a chain (mainnet).

Then β€œCreate Keys”.

The desktop app should now display a message, β€œCongrats! Your keys have been successfully generated and encrypted!”, the location on your local drive where your keys were stored with a prefix on the directory of β€œetherfi_keys”, and a β€œContinue” button to now click. Now click β€œClose” and return to the web app.

On the web app, you’ll be asked to upload the StakeRequest.json file you generated in the desktop app. It’s located in the etherfi_keys directory you specified. It will be accompanied by a deposit_data.json and a keystore-m.json file. These files are very important; they are your validator keys, and the data needed to register a validator on the beacon chain. Please keep them secure and offline. Duplicates risk your validator income and staked ETH.

Click on the space to upload your stakeRequest.json file (as shown above) then click β€œRegister”. This will upload your encrypted keys to ipfs, send your deposited ETH to the official Ethereum Staking Deposit Contract, and notify your node operator that you wish for them to run your validator!

Upon successful registration, you should be greeted with a β€œCongratulations!” screen and a link to your validator β€œdashboard”.

Click on the β€œPublic Key” link of the BNFT as Staker you just setup, and you should be directed to the beaconchain page for your new validator!

Last updated

Change request #74: ether.fan whitepaper