# Welcome to AVADO

Your AVADO comes with pre-configured hardware and software to help you get started with Web3 staking quickly. &#x20;

## Overview of Options

Below is an overview of the different options and required steps. &#x20;

* Everybody starts by connecting to [**AVADO Wi-Fi**](/your-avado/connecting-to-your-avado/quick-access-via-avado-wi-fi) for initial access. &#x20;
* Next, we highly recommend that you install [**Remote Connect + Zerotier**](/your-avado/connecting-to-your-avado/set-up-remote-connect-+-zerotier)**.** This gives you convenient and secure access, both at home and from a remote location.
* [**Ethereum**](/staking-ethereum/eth-staking-overview) Stakers have different options to start staking:
  1. **Solo Staking** with 32 ETH
  2. **Rocketpool Staking** with 8 or 16 ETH (and RPL Tokens)
  3. **Stader Staking** with 4 ETH (and SD Tokens)
* There are other staking opportunities on your AVADO:
  1. **Gnosis** Staking
  2. **Avalanche** Staking
  3. **Qtum** Staking
  4. **Near** Staking (only for AVADO Cloud Users)

<figure><img src="/files/tsUFEdLeHvCOTuktoG6w" alt=""><figcaption><p>Your Staking Journey with AVADO: A High-level Roadmap</p></figcaption></figure>

Our Documentation provides detailed instructions on each of these steps.  Please feel free to jump ahead to the relevant sections to help you install, configure, and run your staking packages.

If you encounter any problem, please consult the [Quick Help](/quick-help/frequently-asked-questions) section, or reach out in our [Discord](/your-avado/avado-support-community) channel for support.

Before you get ready to install your favourite package(s), we recommend that you take a few minutes to read through the following guidelines.&#x20;

* [Protecting your Hardware](/your-avado/welcome-to-avado/protect-your-avado)
* [Claiming an NFT for Warranty & Support](/your-avado/welcome-to-avado/the-avado-nft)


# Protect your AVADO

How to protect your AVADO for Optimal Use & a Longer Lifespan

Your AVADO is a high performance piece of computer hardware specifically designed and optimized for blockchain use.

In order to get the best use and lifetime out of your AVADO it is strongly advised to take some simple precautions.

## ⚡️ POWER SURGES ⚡️ <a href="#power-surges" id="power-surges"></a>

Electrical current surges are an inevitable occurrence with most modern day power grids.  Sudden spikes in electricity can be extremely damaging on microprocessors.  Computers are filled with voltage sensitive components and your AVADO is no different.

At the very least power surges will adversely affect the lifespan of your AVADO. In a worst case scenario, it could corrupt package data or damage the hardware.

Surge protection can take many forms, so you do have a few options:

* Surge Protector Power Strips:

<figure><img src="/files/poCnqXjCDP5S09RybDuk" alt="" width="360"><figcaption></figcaption></figure>

* Socket Surge Protectors:

<figure><img src="/files/49t8DTqQZmmKiLhRtgdz" alt="" width="188"><figcaption></figcaption></figure>

* UPS (Uninterrupted Power Supply):

<figure><img src="/files/fzCYhntr8E3WRcGx2asP" alt="" width="263"><figcaption></figcaption></figure>

A UPS has the benefit of not only offering some protection from Power Surges, but it also can prevent disruption to your internet connection during power cuts.

It is for this reason that it could be seen to offer the best value for money to protect your AVADO.

Any interruption to your internet router or AVADO will disturb the performance of the packages you are running and certainly result in missed Attestations for an ETH 2.0 validator.

Below are links to some commonly recommended UPS models used by fellow AVADO users.&#x20;

* <https://www.amazon.com/Eaton-Electrical-5S1500LCD-External-Black/dp/B00DK45T68/>
* [https://www.amazon.com/APC-Protector-BR1500MS2-Back-UPS-Uninterruptible/dp/B08GRY1W93/](https://www.amazon.com/APC-Protector-BR1500MS2-Back-UPS-Uninterruptible/dp/B08GRY1W93/ref=sr_1_5?crid=2LAQ0GK5OVEIP\&dchild=1\&keywords=sine+wave+ups+battery+backup\&qid=1633268407\&sprefix=sine+wave+%2Caps%2C165\&sr=8-5)
* [https://www.amazon.com/CyberPower-CP1500PFCLCD-Sinewave-Outlets-Mini-Tower/dp/B00429N19W/](https://www.amazon.com/CyberPower-CP1500PFCLCD-Sinewave-Outlets-Mini-Tower/dp/B00429N19W/ref=sr_1_5?crid=2LAQ0GK5OVEIP\&dchild=1\&keywords=sine+wave+ups+battery+backup\&qid=1633268480\&sprefix=sine+wave+%2Caps%2C165\&sr=8-5)

{% hint style="info" %}
**Remember**&#x20;

Each time a Surge Protector absorbs a voltage fluctuation, its lifespan is shortened.  To be sure you’re still getting optimal protection, it’s a good idea to replace them every two to three years.
{% endhint %}

## 🌡️ OVERHEATING 🌡️ <a href="#overheating" id="overheating"></a>

During initial sync of a blockchain the system has to work at 100% capacity for multiple hours (>24h) . Monitoring the unit’s temperature is recommended during that initial sync.

This is especially important if your AVADO is in a location with no airflow or exposed to a particularly hot climate.

The AVADO i7 is a fanless design with cooling fins. That's why include an extra USB fan with your order. We recommend that you put it on top of the device with the airflow pointing downwards and plug it in any of the available USB ports to provide extra cooling during this initial sync.  Feel free to leave the fan on there permanently.

The AVADO R9 units come with an integrated fan and do not require this.&#x20;

<figure><img src="/files/woEeB2DQ4r7ZOpBdLjal" alt=""><figcaption></figcaption></figure>

## OTHER PRECAUTIONS <a href="#other-precautions" id="other-precautions"></a>

It goes without saying that you should also place your AVADO:

* away from other appliances that generate heat;
* out of direct sunlight;
* allow sufficient clearance around the unit for air to flow freely, i.e not jammed up tight against a wall or stacked on top of other heat-generating network equipment.


# The AVADO NFT

## Why an NFT?  <a href="#introduction" id="introduction"></a>

**An AVADO NFT is a unique identifier**, showing that the holder of the NFT has an AVADO device.

It shows when it was bought and what device it represents, but it does not reveal any information about the person owning it.

We care about privacy but also need to be able to identify that the user has bought our device. We’re solving this difficult problem by using NFTs.

<figure><img src="/files/WbY6BViCTmqtElJmvTQe" alt=""><figcaption></figcaption></figure>

## **What are the use cases for AVADO NFT?** <a href="#what-are-the-use-cases-for-avado-nft" id="what-are-the-use-cases-for-avado-nft"></a>

1. Warranty
2. Support
3. Token Drops

### 1. Warranty <a href="#warranty" id="warranty"></a>

First of all, each NFT identifies that the owner has bought an AVADO.  This is important if you want to claim the warranty for the device.  With the info from the NFT we know exactly what AVADO device the user has and when it was purchased.  We can check if the warranty is still valid without having to keep user data in our database.  IPFS and blockchain are our sources of information.

### 2. Support <a href="#support" id="support"></a>

(note: simplify to Tokengate the Discord to minimize scammers).&#x20;

We have a community-driven support system, and NFTs can even increase the utility of it.

Using NFTs, we can allocate a support budget to each device.  Device owners who ask for support will have a specific budget available (based on the device they bought) to use to “dish praise” to AVADO community members who helped them resolve an issue.

We will also use the NFT to ensure that only users who have an AVADO will receive the praise, so the support budget is kept within the AVADO community.

We can use NFTs to automate this process: our Support Genie **Avaddin** will not only count the praise a user received but will also allocate the budget to the support giver sending it to the NFT address.  This will make our support even more scalable.

### 3. Token Drops <a href="#token-drops" id="token-drops"></a>

Projects that have a dapp in the AVADO DappStore can also use our NFTs to identify box owners.  This enables them to allocate their tokens to incentivize the use of their dapp on AVADO.

## How to claim AVADO NFT? <a href="#how-to-claim-avado-nft" id="how-to-claim-avado-nft"></a>

Every AVADO owner can go to [**nft.ava.do**](https://nft.ava.do/) and mint their token. Simply follow the instructions on the page. &#x20;

* You need to fill in the e-mail address that you used for ordering your AVADO.  This is case sensitive.&#x20;
* You should have Metamask enabled in your browser.
* Your NFT is only claimable about 1 week after you have received your AVADO.&#x20;

{% hint style="info" %}
Your AVADO NFT will be minted on the Gnosis (xDAI) chain.
{% endhint %}

<figure><img src="/files/Jrv2fg4FcDLvrGjoOfqK" alt=""><figcaption></figcaption></figure>

### Some useful links <a href="#some-usefull-links" id="some-usefull-links"></a>

* Adding custom Gnosis network to MetaMask:\
  <https://docs.gnosischain.com/tools/wallets/metamask/>
* AVADO NFT contract address:\
  <https://blockscout.com/xdai/mainnet/tokens/0xC3b0E0943A4bC80a15dfd60E15343f691581f254/token-transfers>
* Adding custom tokens: <https://metamask.zendesk.com/hc/en-us/articles/360015489031-How-to-View-See-Your-Tokens-and-Custom-Tokens-in-Metamask>

## FAQ <a href="#faq" id="faq"></a>

<details>

<summary>Why is the Avado Discord token-gated with an NFT? </summary>

To prevent scammers from joining.  So always keep discussions in public channels on our discord to stay safe.

</details>

<details>

<summary>Is the NFT on Gnosis (xDai) chain?</summary>

Yes.  You can use the Gnosis Chain Explorer (<https://gnosisscan.io/>) to look up your address.  Check under the **ERC721 Tokens Txns** tab, and look for **AVADO NODE NFT (AVDO)** token.  Note the **Token ID**.

</details>

<details>

<summary>I just minted my AVADO NFT token.  Is there any way to view this on my MetaMask wallet?</summary>

Yes.  In Metamask, make sure you select the Gnosis Chain (see here to learn [how to add the Gnosis Chain to Metamask](/more-staking-opportunities/gnosis-staking/getting-started-on-gnosis-chain#add-gnosis-chain-to-your-wallet)) and select your wallet address to which the NFT was minted.  Select the NFT tab and click **Import NFT** (you may need to scroll down a little):

<img src="/files/CHjKEpUF3iUPUr8yW1fY" alt="" data-size="original">

On the pop-up panel, paste in the AVADO NFT contract address:

```
0xc3b0e0943a4bc80a15dfd60e15343f691581f254
```

and enter your **Token ID** which you can check on **gnosisscan.io** (see answer to previous question):

<img src="/files/DbmDa9osxuuBnqHA5CoJ" alt="" data-size="original">

Click **Import**.  The AVADO NFT will show up on the NFT tab.  You can now transfer it to another address (by clicking **Send**) if desired.

<img src="/files/qyJNXIl5KpSSRo2lh9uY" alt="" data-size="original">

</details>

<details>

<summary>I can’t mint my NFT.  It says that my email was not found although I use the exact same one that I used for my purchase.</summary>

Attention: the e-mail address field is case sensitive.

Also, your NFT is not available until you receive your device and even some time after.  Contact <saskia@ava.do> if you cannot access the NFT.

</details>


# Connecting to your AVADO


# Quick Access via AVADO Wi-Fi

The first thing to do when you've received your AVADO is to connect through its Wi-Fi Hotspot.

<figure><img src="/files/7gVvwgEvK5wOeanjIu3x" alt=""><figcaption><p>Connecting to your AVADO through its Wi-Fi Hotspot</p></figcaption></figure>

1. Connect your AVADO to your router. Use the ethernet cable provided.
2. Power on.  \
   Plug your AVADO into an electrical outlet.  It will start automatically.&#x20;
3. Get access to AVADO:
   * On your computer or phone, connect to the newly created AVADO Wi-Fi network.  The default SSID is `AVADO`, and the default password is `avado123`
   * On a browser, navigate to <http://ava.do/start>
   * If there are new updates available, it will automatically download them.&#x20;
   * Click on "Go To Avado Admin Page" to visit the **Home Page**.  You can always come to this page by navigating to <http://my.ava.do>&#x20;

{% hint style="info" %}
Note that links to `ava.do` addresses start with **`http://`** not `https://`
{% endhint %}

<figure><img src="/files/cgBqDx0ZiLPMVZ6dYVtH" alt=""><figcaption></figcaption></figure>

Before you explore the menu items on the left (see [Finding Your Way Around](/your-avado/finding-your-way-around)), we recommend that you first install the [Remote Connect](/your-avado/connecting-to-your-avado/set-up-remote-connect-+-zerotier) package from the **DappStore**.  See next section for details.&#x20;

If you encounter any problem, please consult the [Connection Troubleshooting](/quick-help/connection-troubleshooting) page, or reach out in our [Discord](/your-avado/avado-support-community) channel for support.


# Set up Remote Connect + ZeroTier

This section explains how to create a secure end-to-end connection to your AVADO, whether you're at home or elsewhere.

## Quick Setup

(These are the high-level steps to set up Remote Connect + ZeroTier, for quick reference.  Please refer to the sections below for more details of each step.)

Make sure you're connected to the AVADO Wi-Fi network, then go through the following steps. &#x20;

1. Install the “Remote Connect” package on the AVADO machine, if it's not already installed.
2. Obtain a unique 16-letter **Network ID** for your AVADO machine.
3. Install the “ZeroTier One” app on your device(s).  Each device will receive a distinct 10-letter **Node ID**.
4. From your device(s), “Join” your personal AVADO network using its unique Network ID.  Make sure that you choose exactly the following options:
   * On desktop devices (Windows, Mac), choose **Allow Managed**, **Allow DNS**, and **Allow Global**, but **do not choose** "Allow Default";
   * On mobile devices (Android, iOS), choose **Network DNS**.
5. On the AVADO machine, “Allow” your device(s) to join.
6. Disconnect your device from AVADO Wi-Fi and connect normally to Home Wi-Fi.  Navigate to the Home Page at <http://my.ava.do>

You have now established a secure, end-to-end connection between your device and the AVADO.  Going forward, you can access the AVADO via the ZeroTier connection.

The following guide provides more details on each step.

{% hint style="warning" %}
The former OpenVPN access has been deprecated.  The recommend means of connection is Remote Connect + ZeroTier.
{% endhint %}

## What is it?

The **Remote Connect** package, combined with the **ZeroTier** app on your devices, allows you to establish a seamless connection between your computing devices and the AVADO machine, whether you're at home or elsewhere.  It is a powerful tool that enables you to connect from virtually anywhere without the need to tweak any settings.

At home, you can always connect to the AVADO through ZeroTier:&#x20;

<figure><img src="/files/d1oItpGHfVh2unGJNAL2" alt=""><figcaption><p>Connecting to your AVADO at home on the local network</p></figcaption></figure>

From anywhere else, you can connect to your AVADO remotely and securely, without changing any settings:

<figure><img src="/files/3lhkZ8Enliy3ZmLRjZc3" alt=""><figcaption><p>Connecting to your AVADO when you're away from home</p></figcaption></figure>

### What about the AVADO Wi-Fi?

The AVADO Wi-Fi serves as an onboarding tool for new users to set up their devices and create the Remote Connect + ZeroTier connection.  However, it does not provide sufficient bandwidth for all traffic to pass through it.  We recommend using the AVADO Wi-Fi solely as a backup access method once you have set up Remote Connect + ZeroTier.

For security reasons, it is advisable to detach the antennae from the i7 devices after the setup process. For r9 devices with built-in antennae, we suggest changing the password.  Please see: [Help with Wi-Fi Password](/quick-help/help-with-wi-fi-password).

## Before you start

1. **Disable any VPN software** you might have running on your computer (like NordVPN).  Even if you don’t have an active connection, the software might still interfere with your connection to the AVADO.  If everything else fails, uninstall your VPN software to rule this out. &#x20;
2. Mac and iOS users: if you have an iCloud+ subscription, be sure to turn off iCloud Private Relay.
3. Make sure your AVADO is up to date.  Go to <https://ava.do/start> and let the machine download the latest packages.

## Step 1: Install Remote Connect <a href="#step-1--install-package" id="step-1--install-package"></a>

Your AVADO may come with Remote Connect pre-installed.  Check on the left-side menu on the Home Page to see if the **Remote Connect** item is already available.  If not, follow the following steps:

* While connecting on AVADO Wi-Fi, go to the AVADO Home Page (<http://my.ava.do>) and navigate to **DappStore**.
* Scroll to the “AVADO System” section near the bottom of the page. Locate the “Remote Access” package. Click the icon, then press the **Install** button.
* Once finished installing, a **Remote Connect** item shall appear on the left-side menu on the Home Page.

## Step 2: Obtain Your Unique Network ID <a href="#step-3--go-to-the-configuration-wizard" id="step-3--go-to-the-configuration-wizard"></a>

Click the **Remote Connect** menu item, or equivalently, navigate to <http://my.ava.do/#/Packages/remoteconnect.avado.dnp.dappnode.eth>

You will see your unique network ID, and a default network name.  Use the icon next to the AVADO Network ID to copy it to your clipboard.

<figure><img src="/files/6NK2zYe7Ow2nnitL02j9" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
You can click the **Name** to rename your AVADO’s network so you can recognize it in case you have multiple AVADO’s.
{% endhint %}

## Step 3: Install ZeroTier App on your Device <a href="#step-2--download-a-client-for-connecting" id="step-2--download-a-client-for-connecting"></a>

Meanwhile - you can download the remote connect client for your device and install it.  Visit the ZeroTier [download](https://www.zerotier.com/download/) page, or use the following links:

* [Windows](https://download.zerotier.com/dist/ZeroTier%20One.msi) - follow the Installer prompts to complete the installation
* [MacOS](https://download.zerotier.com/dist/ZeroTier%20One.pkg) - click open the app package, and drag the ZeroTier One app to the Applications folder
* [Android](https://play.google.com/store/apps/details?id=com.zerotier.one)
* [iOS](https://apps.apple.com/us/app/zerotier-one/id1084101492)

## Step 4: Join your Personal AVADO Network from your Device <a href="#step-4--join-your-personal-avado-network-with-your-client" id="step-4--join-your-personal-avado-network-with-your-client"></a>

Next step is to connect from your device to the AVADO, using its unique Network ID you obtained in Step 2.  Click the tabs below to reveal instructions for Windows, Mac, Android, or iOS, respectively.

{% tabs %}
{% tab title="Windows" %}
Click the orange ZeroTier icon to get the pop-up menu and select **Join Network.**

<figure><img src="/files/JdFxYgvNLtPN0iwb3Jnu" alt="" width="375"><figcaption></figcaption></figure>

Enter or paste the 16-letter Network ID of your AVADO.

<figure><img src="/files/0OwryUwxsWUGhFAlsoX1" alt="" width="524"><figcaption></figcaption></figure>

Make sure to check the **Allow Managed**, **Allow Global** and **Allow DNS** checkboxes or things will not work.  Do not allow "Default".  Press **Join** to set up the connection.
{% endtab %}

{% tab title="Mac" %}
Launch the ZeroTier One app from Launchpad, or click on the ZeroTier One icon in the top bar of your desktop to open the configuration menu.

<figure><img src="/files/kvyvzMPEfuXv1LdlTSOm" alt="" width="563"><figcaption></figcaption></figure>

Enter or paste the 16-letter Network ID of your AVADO. &#x20;

<figure><img src="/files/dP22QtUjzIRLoU1ULnEB" alt="" width="563"><figcaption></figcaption></figure>

Make sure to check the **Allow Managed**, **Allow Global** and **Allow DNS** checkboxes or things will not work.  Do not allow "Default Route".  Press **Join** to set up the connection.
{% endtab %}

{% tab title="Android" %}
Install the ZeroTier One app from the Google Play Store.  Once opened, click on the `+` to join a network.  Input or paste your 16-letter Avado Network ID at the top and select **Network DNS**.  Do not select "Enable Default Route" or "Enable On Demand". &#x20;

<figure><img src="/files/6FuV1Su72tG7AvyvCfNZ" alt="" width="375"><figcaption></figcaption></figure>

Then click at the bottom to **Add Network**.&#x20;

Make sure you enable the connection in the Remote Connect package on the AVADO as described in Step 5.  Then just click on the slider in the app to connect to your AVADO and use your browser to confirm that you can access the AVADO dashboard at <http://my.ava.do>

<figure><img src="/files/Mz5rqMuIcuG7tIMwqWz8" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="iOS" %}
Install the ZeroTier One app from the App Store.  Once opened, click on the `+` to join a network.  Input or paste your 16-letter Avado Network ID at the top and select **Network DNS**.  Do not select "Enable Default Route" or "Enable On Demand". &#x20;

<figure><img src="/files/QVse80ZYiBeAtirEv8VE" alt="" width="375"><figcaption></figcaption></figure>

Then click **Add Network**.&#x20;

Make sure you enable the connection in the Remote Connect package on the AVADO as described in Step 5.  Then just click on the slider in the app to connect to your AVADO and use your browser to confirm that you can access the AVADO dashboard at <http://my.ava.do>

<figure><img src="/files/d1j9le85IZUOZlHcq5AG" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Step 5: Allow your Device to Join on the AVADO <a href="#step-5--enable-client-access-on-the-avado" id="step-5--enable-client-access-on-the-avado"></a>

Go back to your AVADO.  After a few seconds you will see the new device automatically appear in the **Network Member** list.

<figure><img src="/files/aWJUyu4mk9ri3cNVKKLc" alt="" width="563"><figcaption></figcaption></figure>

The only thing you need to do now is check the box to enable access to this client.

<figure><img src="/files/SoAzv7GRbIXUTJktNYrv" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
You can click on the **Description** to rename your device so you can easily recognize the device that you gave access to.
{% endhint %}

## Step 6: Connect Through Remote Connect + ZeroTier <a href="#step-7--connect-through-the-remote-connect-client" id="step-7--connect-through-the-remote-connect-client"></a>

**Disconnect** your device from the AVADO Wi-Fi, and switch back to your **Home Wi-Fi** network.&#x20;

On Windows or Mac, click on the Network ID so that it has a checkmark in front of it.  If you click on **Network Details** you should see “OK” next to the status.

<figure><img src="/files/tV9hRvu12eFFru3YJZcP" alt="" width="563"><figcaption></figcaption></figure>

On Android or iOS, click on the slider button next to the Network ID. &#x20;

If you see **REQUESTING\_CONFIGURATION** please give it a minute or two to switch to “OK”.

On your browser, navigate to <http://my.ava.do/> to go to the AVADO Home screen.

You can use this connection from within your own network, or from anywhere in the world.  All traffic over this connection is peer-to-peer and is fully encrypted.

## Step 7: Disconnect <a href="#step-7--disconnect-and-reconnect" id="step-7--disconnect-and-reconnect"></a>

You can safely leave the ZeroTier connection on all the time, so you can visit the AVADO Home page any time you need to.

To disconnect, on Windows or Mac, click on the Network ID from the ZeroTier dropdown menu.  The checkmark will disappear and you are disconnected.  On Android or iOS, click on the slider button to turn it off.

<figure><img src="/files/JFInjSSBGjtapslSQ3jk" alt="" width="504"><figcaption></figcaption></figure>

To reconnect, just open the app and select the network again.  When the checkmark is present you are connected again.&#x20;

## Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

If you encounter any problem, please consult the [Connection Troubleshooting](/quick-help/connection-troubleshooting) page, or reach out to our [Discord](/your-avado/avado-support-community) channel for support.


# Finding Your Way Around


# The Home Page and Menus

The AVADO box comes with a pre-installed Operating System, which is accessible via a web-based dashboard. &#x20;

## The Home Page

Navigate to <http://my.ava.do> from your browser to bring up the Home Page.  On this screen, you can see at a glance the CPU, Memory and Disk usage of your AVADO (item **A** in the figure below).  Once you have installed some packages, they will be shown under the "Active Packages" section, and the corresponding blockchain(s) shown under the "Chains" section.&#x20;

<figure><img src="/files/8oIb73iNWOJpnlUCmB3k" alt="" width="563"><figcaption></figcaption></figure>

Other useful items:

* **B -** **Name of your AVADO Box:** You can give your AVADO a cute name, by clicking on the text and changing the default "AVADO".  This is for display purpose only and does not affect network settings.
* **C - Your AVADO's IP Addresses:** Click on this colored icon to bring up the network information of your AVADO.  The **External IP** is the IP address of your AVADO as seen from the Internet - most likely this is the same IP address assigned by your ISP to your home network.  The **Internal IP** is how your home router recognizes your AVADO on the local network.&#x20;

<figure><img src="/files/0mQhCUyFj98SoP09Xph6" alt="" width="375"><figcaption></figcaption></figure>

* **D - Blockchain Status**: Once you have installed some packages and loaded blockchain data, you can see the chain status by clicking on this "block" icon.  The same information is also shown under the "Chains" section on the Home Page.

<figure><img src="/files/KWgrpWPp8qXvPZYJoU0u" alt="" width="325"><figcaption></figcaption></figure>

* **E - Main Menu**: These are some useful functions you will need to configure and operate your AVADO.  See below for a detailed walkthrough.

## The DappStore

The DappStore is where you would download and install the various "**DApps**".  In the context of web3 and blockchains, a "DApp" is a piece of software - a "Distributed App" - that interacts with the blockchain.  You will need to install a selection of these DApps to start staking.

<figure><img src="/files/666IaMwgcXDj5Ol8pVIf" alt="" width="563"><figcaption></figcaption></figure>

On this screen:

### **Version Numbers**

Each "card" provides information about the DApp's name and the corresponding AVADO package version number (item **A** in the figure above).  In this example, the "Nimbus Consensus Client" has a version number of 0.0.17.  Clicking on the card reveals additional details about the DApp.  In this case, it also shows that the AVADO package is built upon the underlying software version v24.2.2.  Essentially, the AVADO package acts as a "wrapper" for the underlying software, ensuring that it is pre-configured and fully compatible with all components of the AVADO machine.

<figure><img src="/files/2CmXGn1nuZE4uQKUbFBY" alt="" width="563"><figcaption></figcaption></figure>

### **The INSTALL Button**&#x20;

Depending on the status of the DApp installation, you will see different buttons.  If you haven't installed the DApp yet, the button displayed will be labeled as **INSTALL**.  Once you have successfully installed the DApp, the button will change to **DETAILS** (e.g. item **B** on the previous figure).  If an update is available for the DApp, the button will turn orange and display **UPDATE**.

## My DApps Menu

Once you have installed some DApp, you will find the list of installed DApp on the **My DApps** menu.

<figure><img src="/files/dIx3bS2I5Ea50eG7CDKp" alt="" width="563"><figcaption></figcaption></figure>

Here are some useful functions:

* **A - Open:** Clicking "Open" to open the DApp.  If a DApp does not feature a dedicated user interface, the "Open" button functions similarly to the "Manage" button.
* **B - Manage:** Clicking "Manage" provides access to the **Management Page** for each DApp.  This is where you can perform various standard functions on the DApp, such as **Pause**, **Restart**, **Reset**, or **Remove**.  Additionally, you can view the **Logs** and access user-configurable options on this page.
* **C - Restart:** This option serves as a convenient shortcut to quickly restart the DApp if needed.
* **D - Auto-Update:** All AVADO DApp come pre-configured to update automatically whenever a software update is available.  It is highly recommended to keep the "Auto-Update" button enabled for an optimal and hassle-free experience.

## The Support Menu

This page shows at a glance some important system information, for diagnostic purpose.

<figure><img src="/files/Groj7YurRT5CnehBSsOk" alt="" width="563"><figcaption></figcaption></figure>

## The System Menu

The System menu shows a list of system packages that are essential to the operations of your AVADO.  **Do not** remove any of these packages.

<figure><img src="/files/f20zYbX5wH8aYyceNbvp" alt="" width="563"><figcaption></figcaption></figure>

Some key items on this page:

### **Auto-Update**

All AVADO packages come pre-configured to update automatically whenever a software update is available.  It is highly recommended to keep the "Auto-Update" button (item **A** in the figure above) enabled for an optimal and hassle-free experience.

### Reboot My AVADO / Shutdown

To ensure a proper and clean shutdown and reboot of your AVADO, use these buttons (items **B** and **D**) to initiate a system reboot or shutdown if necessary.  It stops all packages correctly, allowing for a smooth and efficient restart immediately or later. &#x20;

{% hint style="info" %}
Whenever possible, please avoid pressing the power button or directly unplugging your AVADO as a means of shutting it down.
{% endhint %}

### Disk Cleanup

Utilize this button (item **C**) to perform a disk cleanup and reclaim disk space after removing a package.  It is important to note that Disk Cleanup only removes package data when the package itself has been removed.  It will not have any effect on packages that are currently installed and in use.


# The DApp Management Page

Each DApp features a **Management Page** that is standard across all AVADO DApp packages.  The Management Page can be accessed via the **My DApps** menu, by clicking on the **Manage** button for a DApp, for example:

<figure><img src="/files/Co6MCk9HmZYXZf7qbwHZ" alt="" width="563"><figcaption></figcaption></figure>

## Controls

The Management Page provides several important controls functions:

<figure><img src="/files/cqecGhYBK2pb4OO2bYiV" alt="" width="563"><figcaption></figcaption></figure>

* **Pause:** Pause will temporarily put the DApp on hold.  For an Execution Client or a Consensus Client, Pause will preserve the blockchain data.  The DApp will be able resume when it is restarted, after a short period of re-syncing.
* **Restart:** Restart a package.  This may be necessary if there is a problem with the DApp.  The package data is preserved.
* **Reset:** The restores the package to its factory settings.  Note that all chain data will be lost!  For an Execution Client or a Consensus Client, a complete re-sync will be necessary.  If you have imported validator keys into the Consensus Client, you will need to reload the keys using your keystore files.
* **Remove:** This removes the package and its data from the system.  It is a good practice to follow up by performing a [**Disk Cleanup**](/your-avado/finding-your-way-around/the-home-page-and-menus#disk-cleanup) action on the System menu to reclaim the disk space previously occupied by the DApp.

Scroll down for more information and controls.  The **Stats** panel provides some technical information about the DApp.  The **File Manager** panel provides a means of exchanging files with the DApp, in exceptional situations (for advanced use only).

## Environment Variables

The **Environment Variables** panel is important.  There will be several situations where you will be asked to supply additional parameters to the DApp for special processing.  Follow the instructions provided to fill in the **Value** box of the relevant variable.  Then click **Update environment variables** to confirm the change.  This will also restart the DApp.

<figure><img src="/files/TSDWq0dJ1YO9HKlTTWo3" alt="" width="563"><figcaption></figcaption></figure>

## Logs

Finally, at the bottom of the page is the Logs panel.  The Logs show a wealth of information about what the DApp is going through, and are especially useful during the syncing process of the staking clients, and for troubleshooting.  Here is an example for Nethermind:

<figure><img src="/files/FOrvYHMwULp50JiDiFjn" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Tips on using the Logs**

By default, the window shows the last 200 lines of the Logs.  Increase the **Lines** value to "scroll back" to see more lines.

You can enter some text in the **Search** box to filter out specific lines in the Logs for easier inspection.
{% endhint %}


# AVADO Support Community

## Joining AVADO Discord

Sign up to AVADO Discord to join a vibrant community of AVADO users and support specialists! &#x20;

To enjoy full access to the channels, you will need to verify ownership of your AVADO device with your [AVADO NFT](/your-avado/welcome-to-avado/the-avado-nft).

<figure><img src="/files/7baQMtjd37v60akirmHQ" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**AVADO will NEVER communicate with you through private messages.** &#x20;

If you receive a private message from anyone claiming to be AVADO or AVADO Support, it is a **100% SCAM** aimed at stealing your ETH or other valuables.

AVADO and community support givers will never tell you to delete messages in public channels.
{% endhint %}

A step by step guide on how to join the Avado Discord:

## Step 1: Mint your NFT <a href="#step-1" id="step-1"></a>

Mint your NFT on [https://nft.ava.do](https://nft.ava.do/) using the email you ordered from. Simply connect your wallet and sign the minting transaction.

For more information about the AVADO NFT, see [AVADO NFT](/your-avado/welcome-to-avado/the-avado-nft) page.

{% hint style="info" %}
Your AVADO NFT will be minted on the Gnosis (xDAI) chain.
{% endhint %}

<figure><img src="/files/CJeVF52Y4p7t3yNzx1Av" alt=""><figcaption></figcaption></figure>

## Step 2: Join Discord <a href="#step-2" id="step-2"></a>

Click here to [**Join the AVADO Discord**](https://discord.gg/RpMaFjTjyw)

## Step 3: Verify your Ownership via Collabland <a href="#step-3" id="step-3"></a>

Navigate to the `#collabland-join` channel.  You will be asked to verify using **Collab.Land,** a user-friendly, tokenized, community-management system.  Click the **Let's go!** button to start.

<figure><img src="/files/t8EkXFf1KeHzq8fqOEPu" alt=""><figcaption></figcaption></figure>

The button will create a custom link that is valid for 5 minutes.  It takes you to the Collab.Land website where you have to choose the wallet you minted the Avado NFT from.

<figure><img src="/files/UjphmYfVz6Rc6tUwtWBp" alt=""><figcaption></figcaption></figure>

After connecting your wallet to the site you will be asked to sign the message to verify you own an Avado NFT.

<figure><img src="/files/wpY2AIojtPwZPgPfoaDC" alt=""><figcaption></figcaption></figure>

If you did within the 5 minutes, you will see this screen and can return to the Avado discord server where you should now see all channels and have full access.

<figure><img src="/files/1ZZu3MXbpGmPwgg2COO3" alt=""><figcaption></figcaption></figure>

## What to do if your signing failed <a href="#what-to-do-if-your-signing-failed" id="what-to-do-if-your-signing-failed"></a>

If you get an error message like “Signing failed” then you have to go back to the `#collabland-join` channel on the Avado Discord and click on **Let's Go!** again to create a new link because the old one most likely expired after 5 mins.

If that was not the problem please go to the `#new-joiners` channel on Discord and open a ticket there, or email [saskia@ava.do](email:saskia@ava.do), and we will look into it.


# AVADO Praise

AVADO uses [Praise](https://givepraise.xyz/) to build a strong community by fostering a spirit of cooperation and mutual support.

<figure><img src="/files/b4ENmSyHPw6v6UMshL90" alt="" width="320"><figcaption><p><strong>Avaddin: Avado's Discord Praise Bot</strong></p></figcaption></figure>

Via **Avaddin**, a chat bot in the [Avado Discord](https://discord.gg/RpMaFjTjyw) channels, you can praise people for helping you.  Avaddin keeps track of all “praises” and each month, the people getting praised get a reward (in xDai on the Gnosis chain).

Giving "Praise" is more than expressing gratitude. It also ensures that the user who helped you, gets recognized and rewarded for their contributions. AVADO allocates a budget for this.&#x20;

## Activating your Praise Account

To use "Praise" for the first time, follow these steps:

1. Ensure you have a browser with a connected wallet (like Metamask).
2. Type `/activate` in any AVADO Discord channel and click on **activate my account**.
3. You will be redirected to the AVADO Praise Dashboard in your browser.  Here, you will need to link your Discord account to an Ethereum address you own.  This linked Ethereum address will be used to receive xDAI rewards on the Gnosis chain when you assist other users and receive praise for your help.  You can use a fresh address for this purpose.
4. After linking the address, you will be prompted to sign a message with your wallet.  This step completes the linking process between your Discord account and Ethereum address.

(If your account is still not linked after the initial activation, you may need to type `/activate` again to resolve the issue.)

## Giving Praise

{% tabs %}
{% tab title="Desktop" %}

<figure><img src="/files/vosfFFmQmCreVgWLo1PZ" alt="" width="375"><figcaption></figcaption></figure>

To give praise on Discord desktop app, type `/praise`.  A widget will pop up with two boxes.  In the "receivers" box type the `@` handle of the user you want to give praise to, for example `@sponnet`.  Make sure you start with the `@` symbol and choose from the pop-up list of user names.  Then in the "reason" box provide a reason for the praise.&#x20;

A complete praise command will look like:&#x20;

<figure><img src="/files/ZaiTxojFAHR8q6wpP911" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Mobile Device" %}

<figure><img src="/files/w6zy8w2Ppvpw6Am1hFPm" alt="" width="375"><figcaption></figcaption></figure>

To give praise on Discord mobile, type `/praise`.  A widget will pop up with two buttons.  Click the "receivers" button, then after the `receivers:` tag type the `@` handle of the user you want to give praise to, for example `@sponnet`.  Make sure you start with the `@` symbol and choose from the pop-up list of user names.  Then click the "reason" button, and provide a reason for the praise after the `reason:`  tag.

A complete praise command will look like:&#x20;

<figure><img src="/files/dYaXQasKZcTuPoxf3xPD" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

See more examples of praise: [Writing excellent Praise](https://givepraise.xyz/docs/writing-excellent-praise)

At the end of each month the praises are analyzed and counted.  Once the rewards are calculated, they get distributed in xDai on the Gnosis chain.

You can view the latest praises at <https://praise-discord.ava.do/>

## Links

* <https://givepraise.xyz/docs/writing-excellent-praise>
* Sponnet’s talk at ETHCC about community building:

{% embed url="<https://youtu.be/jGr_XYr1oSg>" %}


# Beware of Scammers

{% hint style="danger" %}
**AVADO has shut down its Telegram support channels.**&#x20;

We take user support very seriously and want you to have a good experience setting up your device.  Unfortunately we experienced a lot of scammers attacking our community and we decided to move away from Telegram.
{% endhint %}

## 🚨 **IMPORTANT SECURITY ALERT** 🚨

We've been made aware of an increasing number of scam attempts targeting our community. Please be vigilant and remember:

**AVADO will NEVER communicate with you through private messages.**  If you receive a private message from anyone claiming to be AVADO or AVADO Support, it is a **100% SCAM** aimed at stealing your ETH or other valuables.

🛡 **To protect yourself and your assets, we strongly recommend the following steps:**

1. **Mint the NFT:** We urge all community members to mint the NFT provided by AVADO.  This NFT serves as your unique identifier and an added layer of security when interacting within the AVADO ecosystem.
2. **Sign into the AVADO Discord Only With the NFT:** Your NFT is your key.  Ensure you're signed into our Discord only with this NFT to maintain the integrity of your identity and interactions.
3. **Seek Help Publicly:** If you need assistance, please do so publicly within the designated community channels.  This not only ensures you're getting support from legitimate sources but also enriches our community's knowledge base.
4. **Open a Ticket for Personalized Support:** For issues requiring individual attention, we encourage you to open a ticket.  This ensures that only specialized and verified team members will see and respond to your queries.

Stay safe, stay alert, and when in doubt, reach out publicly.  Together, we're not just building a decentralized future; we're safeguarding it.

## AVADO - OFFICIAL LINKS

Please be careful of fake accounts and potential scammers.  These are our only links! ㅤ

* WEBSITE➥ <https://ava.do/> ㅤ
* DISCORD➥ <https://discord.gg/RpMaFjTjyw>
* TWITTER➥ <https://twitter.com/AvadoCloud> ㅤ
* YOUTUBE➥ <https://www.youtube.com/@avadocloud> ㅤ
* LINKEDIN➥ <https://www.linkedin.com/company/avadocloud/> ㅤ


# ETH Staking Overview

Welcome to the world of Ethereum staking!

You are about to become an active participant in the Ethereum network. Your role will involve running a **node** and acting as a **validator**.  Validators have the responsibility of proposing, verifying, and vouching for the validity of blocks.  To ensure the honesty of validators, you are required to post some ETH as collateral.  In return for your services as a node operator, you will receive rewards from new issuance of ETH.

## The Different Ways to Stake ETH on AVADO

There are different ways to stake ETH on AVADO:

1. **Solo Staking** with 32 ETH\
   Solo staking is considered the gold standard of ETH staking.  It involves directly depositing your stake with the Ethereum network and having full control over it.  To start solo staking, you will need a minimum of 32 ETH.

{% embed url="<https://x.com/superphiz/status/1561737594421002249?s=20>" %}

2. **Staking through Rocketpool** with 8 or 16 ETH\
   Rocketpool is a decentralized smart contract platform that allows you to stake with less capital.  It matches your 8 or 16 ETH with other stakers' deposits to make up the required 32 ETH.  Additionally, you have the opportunity to earn commissions from other stakers.  Using Rocketpool requires a level of trust in the smart contracts.<br>
3. **Staking through Stader** with 4 ETH\
   Stader is another decentralized staking pool for Ethereum that enables you to start staking with as little as 4 ETH.  Like Rocketpool, Stader matches your deposit with contributions from other stakers to reach the 32 ETH requirement.  By running validators with Stader, you can earn ETH and SD tokens.  Similar to Rocketpool, there is an element of trust involved in the Stader smart contracts.

You can learn more about each staking avenue on this website.  You also have the flexibility to run some validators solo and others through Rocketpool or Stader.

Regardless of the staking avenue you choose, your AVADO machine will need to perform the same basic validator duties.  Therefore, the initial setup is the same for all options.  You will need to install and run an Execution Client and a Consensus Client.

{% hint style="info" %}
In the world of computing, the term "**client**" often refers to a piece of software or an application.  In the context of web3 and Ethereum, a client can also refer to a distributed app, commonly known as a "DApp."
{% endhint %}

## Choosing an Execution Client and a Consensus Client

The **Execution Client** is responsible for listening to Ethereum transactions, executing them, and holding all necessary ETH information in its database.  This is also known as the *Execution Engine*, the *Execution Layer* client, or the *ETH1* client.

On the other hand, the **Consensus Client** plays a crucial role in the Ethereum network.  It runs the proof-of-stake algorithm, which enables the network to reach consensus on the blocks proposed by the Execution Clients.  Sometimes it is also referred to as the *Consensus Layer* client or *ETH2* client.  It's important to note that the Consensus Client is actually composed of two clients: the **Beacon Chain** client and the **Validator** client. &#x20;

AVADO provides options for both Execution and Consensus Clients.&#x20;

For the Execution Client, you can choose between **Geth** and **Nethermind**. &#x20;

As for the Consensus Client, you have the choice of **Teku**, **Prysm**, or **Nimbus**.  You only need to install one of each.

<figure><img src="/files/3rHCg1NDZBopWpPdBZIg" alt=""><figcaption></figcaption></figure>

The choice of clients may seem overwhelming, but in reality, they all perform the same standard functions defined by the Ethereum protocol.  They are equally robust and reliable, regardless of the development team or programming language behind them.  AVADO has standardized the user interface for these clients, making their setup and operation very similar. &#x20;

You are free to choose any combination of Execution and Consensus Clients, and switching clients in the future is straightforward.

Having a diverse set of client software is beneficial for the Ethereum network.  It increases resilience by limiting the impact of bugs or attacks to only a portion of the network using the affected client.  As a node operator, you can contribute to this client diversity by choosing a client that does not have a supermajority.  You can check the current client distribution on the [Client Diversity](https://clientdiversity.org/) website.

<figure><img src="/files/xb9VCjMJzCMqugrM1Ahr" alt=""><figcaption><p>Source: https://clientdiversity.org/ (March 2024)</p></figcaption></figure>

Here is a snapshot of the client distribution as of March 2024.  Currently, Prysm is the most popular Consensus Client.  Overall, the client diversity is fairly good.  However, it's worth noting that Geth has a majority among the Execution Clients, which is not ideal.  Node operators are encouraged to consider switching to a minority client to contribute to a more balanced client ecosystem.  Please take this information into consideration when making your decision.


# Setting up the ETH Clients

## Overview

To begin, you need to install both the **Execution Client** and the **Consensus Client** on your AVADO machine.  These two pieces of software work together to perform your validator duties. &#x20;

During the initial setup, they will download and process all existing information from the Ethereum blockchain to ensure they have an accurate and up-to-date local copy of the Ethereum state. This process is known as "**syncing**".

The Consensus Client will need to sync up first, and this is a relative fast process that can complete within an hour.  Syncing the Execution Client will take more time, usually a day or two, as it involves downloading and processing a substantial amount of data.

{% hint style="info" %}
**Keep your device cool!**

During the initial sync of a blockchain, your system will operate at full capacity for multiple hours.  It is crucial to maintain an optimal temperature to prevent any potential heat damage.  If you are using the AVADO i7 model, which features a fan-less design with cooling fins, we recommend using a USB fan to provide additional cooling support during this initial sync process.  This will help ensure that your system stays cool and operates efficiently throughout the syncing period.
{% endhint %}

## Step 1: Install Execution Client

Choose ONE of the following:

{% tabs %}
{% tab title="Nethermind" %}
Nethermind is a high-performance, highly configurable Ethereum execution client built on .NET

Navigate to the DappStore and locate the DApp named **Nethermind Execution Client** and click **Install**.

<figure><img src="/files/UWGeQ2qR0UQUqts8XSIT" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Geth" %}
Geth is the Ethereum node software coded in Go language. It is widely used and well-maintained.

Navigate to the DappStore and locate the DApp named **Geth Execution Client** and click **Install**.

<figure><img src="/files/D2AlEueYWwCrhRMzhbFM" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

After installing the Execution Client, it will automatically start running, but it won't be able to sync until a Consensus Client is installed and synced.  This will be our the next step.

## Step 2: Install Consensus Client

Choose ONE of the following:

{% tabs %}
{% tab title="Teku" %}
Teku is an open source Ethereum consensus client written in Java.

Navigate to the DappStore and locate the DApp named **Teku Consensus Client** and click **Install**.

<figure><img src="/files/fCfdjgGJODhdGRpE7xvQ" alt=""><figcaption></figcaption></figure>

Introducing **Zero Sync** mode for Teku!  This feature enables validation from a backup Beacon Chain provided by AVADO, eliminating the initial sync wait time and reducing downtime during errors or maintenance.  We highly recommend setting up Zero Sync now. Check out [**Teku Zero Sync**](/quick-help/teku-zero-sync) for more details.
{% endtab %}

{% tab title="Prysm" %}
Prysm is a popular Ethereum proof-of-stake client written in Go.

Navigate to the DappStore and locate the DApp named **Prysm Consensus Client** and click **Install**.  This will also automatically install the **Prysm Beacon Chain** package.

<figure><img src="/files/imFrLRuRTSzsAeERB6RC" alt=""><figcaption></figcaption></figure>

Unlike Teku and Nimbus, Prysm consists of two separate packages: one for the Beacon Chain and another for the Validator.  On the Home Page, you will notice two installed Prysm packages:

<figure><img src="/files/XfOMlXLrNuO53DrasJfP" alt=""><figcaption></figcaption></figure>

* **Prysm Consensus Client** - This is the Validator Client.
* **Prysm Beacon Chain** - This is the Beacon Chain Client and the new AVADO wizard. &#x20;
  {% endtab %}

{% tab title="Nimbus" %}
Nimbus is an extremely efficient consensus layer client implementation.

Navigate to the DappStore and locate the DApp named **Nimbus Consensus Client** and click **Install**.

<figure><img src="/files/2CmXGn1nuZE4uQKUbFBY" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Step 3: Configure the Consensus Client

At this stage, you'll need to configure the Consensus Client.  The configuration options are the same across Teku, Prysm or Nimbus.  Please proceed to our guide on [Configuring the Consensus Client](/staking-ethereum/setting-up-the-eth-clients/configuring-the-consensus-client).

* [**Configuring the Consensus Client**](/staking-ethereum/setting-up-the-eth-clients/configuring-the-consensus-client)

Once you've configured the options, you can continue below to complete the syncing process.

## Step 4: Syncing the Consensus Client

The Consensus Client will need to sync up first.  Thanks to **Checkpoint Sync**, the Consensus Clients start with a recently finalized checkpoint state and only need to catch up to the current head of the blockchain.  This process is relatively fast, usually taking **only a few minutes to no more than an hour**.

Please see our detailed guides on the syncing process.  These guides will assist you in monitoring and ensuring a smooth progression of the process.

* [**Nimbus**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/nimbus)
* [**Prysm**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/prysm)
* [**Teku**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/teku)

## Step 5: Syncing the Execution Client

Syncing the Execution Client is the process by which the it catches up to the latest Ethereum block and synchronizes its global state.  It is a time-consuming process, typically taking **many hours to a few days** depending on your network speed.  It's important to be patient during this period. &#x20;

Please see our detailed guides on the syncing process.  These guides will assist you in monitoring and ensuring a smooth progression of the process.

* [**Geth**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-execution-client/geth)
* [**Nethermind**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-execution-client/nethermind)

## Next Steps

Congratulations for setting up your Ethereum node!

Now that you have the basic infrastructure in place, you can proceed to the actual staking.  Choose between your options of Solo Staking, Rocketpool or Stader Staking.  Please follow our comprehensive guides for each option:

* [**Solo Staking**](/staking-ethereum/solo-staking-32-eth)
* [**Rocketpool**](/staking-ethereum/rocketpool-8-or-16-eth)
* [**Stader**](/staking-ethereum/stader-4-eth)

Happy Staking!


# Configuring the Consensus Client

## Quick Steps

These steps are applicable to all three Consensus Clients options - Teku, Prysm, and Nimbus:

1. Install the DApp.
2. Upon installation, click on **Configure Package** or open the DApp.
3. Set the default **Fee Recipient Address**.
4. Choose your preferred **Execution Client**.
5. (Optional) You can explore additional features such as Adding Validators, Checking Peer Connectivity, Verifying Checkpoint Sync, and Enabling MEV-Boost.  These can be addressed later if needed.
6. Click on **Apply changes**.  The Consensus Client will restart and initiate the syncing process with the Beacon Chain.
7. Observe the syncing process to ensure that everything is running smoothly as expected.

The following guide provides more details on each step.

## Opening the DApp

AVADO has implemented standardized user interface for the Consensus Clients: Teku, Prysm and Nimbus.  In this section, we will go through their common settings.

You can "open" the DApp by:

* Clicking the **Open** button for the DApp (Teku, Prysm or Nimbus) on the Home Page; or
* Clicking the **DETAILS** button for the DApp on DappStore, then click **Configure Package**; or
* Clicking the name of the DApp, or its **Open** button, on the **My Dapps** menu (figure below).

{% hint style="info" %}
The following examples are taken from Teku, but the user interface for Prysm and Nimbus will have a similar look and feel.
{% endhint %}

<figure><img src="/files/7TedgPiVEGlA0CxAz73z" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Prysm Specific: Open Prysm Beacon Chain instead of Prysm Consensus Client**

For **Prysm**, You can open the DApp by clicking the [**Open**](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth) button for the **Prysm Beacon Chain** package.  If you try to open the Prysm Consensus Client package, you will come to the following screen.  Here, always choose **Open the Avado Wizard**.  (The legacy Prysm web dashboard has been deprecated.)
{% endhint %}

<figure><img src="/files/EpiPiLShswqIej5tWD2u" alt="" width="375"><figcaption></figcaption></figure>

The DApp has three sub-menus: **Main**, **Settings**, and **Check**. &#x20;

<figure><img src="/files/W1qz5ii9tkesNOwOwNgH" alt=""><figcaption></figcaption></figure>

If you're using a phone or tablet, the sub-menus may be hidden.  Look for the button that has three horizontal lines, on the right-hand side of the screen.  Click to expand it.  The expanded sub-menu can be found on the left-hand side of the screen (you may need to scroll across to see it).

<figure><img src="/files/gGf2QMM6LIUZA6ujBn7r" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="/files/DBkQ3C8jui05wuJMn4HY" alt="" width="375"><figcaption></figcaption></figure>

The following is a walkthrough of key features of the DApp.

### A.  Set Default Fee Recipient Address

Initially, the Consensus Client will prompt you to set up a default Fee Recipient Address.  It may also indicate that you have not yet installed an Execution Client or require additional settings.  We will now proceed to complete these steps.

<figure><img src="/files/fNe5xfYqyc57fjfnqKvJ" alt=""><figcaption></figcaption></figure>

#### What is the Fee Recipient Address?

When you start validating, there will be two streams of rewards:

* **Consensus Layer rewards:** These are regular rewards paid to you for performing validator duties, such as producing attestations, and making proposals.  These rewards accrue on your validators and are regularly "skimmed" to your *Withdrawal Address* (which you will set separately).
* **Execution Layer rewards:** These are occasional rewards (tips and "MEV-boost" rewards) paid to you when you get a chance to make a block proposal.  These rewards are immediately available and are sent to your *Fee Recipient Address*.

The Fee Recipient Address is where you would receive your Execution Layer rewards.  Please make sure that you:

* Use an Ethereum address you own and control, preferably a hardware wallet address. &#x20;
* **Do not use an exchange address**, as most exchanges are not set up to recognize staking rewards and you will very likely lose your rewards.

For your consideration:

* You can change the default Fee Recipient Address any time.
* You can set the Fee Recipient Address for individual validators any time, overriding the default.
* You can use different Fee Recipient Addresses for individual validators, if you wish.
* You can set the Fee Recipient Address to be the same as your Withdrawal Address (to be set separately), if you wish.
* If you're going to stake with Rocketpool or Stader, the Fee Recipient Address for the validators involved will need to be set to the respective Rocketpool or Stader addresses.  This can be done later.  You can still choose a default Fee Recipient Address to start with.

To set the Fee Recipient Address, enter or paste-in your Ethereum address into the box indicated by **A** below.

<figure><img src="/files/qPiyAIXyxkdx0lS5aQXB" alt=""><figcaption><p>The Teku Settings Page</p></figcaption></figure>

### B.  Set Execution Engine

The Consensus Client will need to be paired with an Execution Client, i.e. Geth or Nethermind.  Click the radio button (indicated by **B** in the above figure) that matches with your chosen Execution Client.

{% hint style="info" %}
The Execution Client will not work if the setting for Execution Engine here is incorrect.
{% endhint %}

### C.  Add Validators

If you are a **Solo Staker** (staking with full 32 ETH), you will later need to generate your staking keys, then import the resulting **keystore files** (which will be named like `keystore-xxxxx.json`) under the **Main** sub-menu.  Take time to read the following sections for more details:

* [Solo Staking](/staking-ethereum/solo-staking-32-eth)
* [Generate Keys](/staking-ethereum/solo-staking-32-eth/generate-keys)
* [Import Validator Keys](/staking-ethereum/solo-staking-32-eth/import-validator-keys)

If you are staking via **Rocketpool** or **Stader**, you do not need to manually add validators.  Your validators will be populated for you by the respective DApp later.  Please read the sections on [Rocketpool](/staking-ethereum/rocketpool-8-or-16-eth) or [Stader](/staking-ethereum/stader-4-eth) for details.

### D.   Check Peer Connectivity

In the context of Ethereum validation, **peers** refer to other nodes on the network with which your validators exchange data.  Having good connectivity to peers is crucial for ensuring timely and accurate performance of validation duties.

To establish and maintain peer connectivity, the Consensus Client actively reaches out to the network to "discover" peers.  Additionally, it accepts incoming connections from other peers that have "discovered" your validators.  In simpler terms:

* **Outbound Peers**: The Consensus Client actively seeks out and discovers these peers.
* **Inbound Peers**: Other peers initiate the connection by requesting a connection to your validators.

Once the connection is established, both inbound and outbound peers are treated equally.

The general principle is that having a higher number of peers is advantageous.  By default, the upper limit of peer connection is 100, which typically works well.  However, if you are seeing a low connected peer count, or only see outbound peers and no inbound peers, it may be necessary to adjust the settings on your router to allow incoming connections.  See [Opening Network Ports](/quick-help/opening-network-ports) for guidance on how to do this.

It's important to note that the Consensus Client can perform validation duties even with only outbound peers.  Obtaining inbound peers is an optimization point that can potentially enhance the performance of your validators, and is therefore highly recommended.

### E.  Verify Checkpoint Sync

The Consensus Clients can quickly start running within minutes by downloading a recent finalized checkpoint state as their **Initial State**.  This eliminates the need for syncing the entire Beacon Chain, allowing for a faster setup process.

By default, Teku and Prysm are configured to use a finalized checkpoint state from a community source <https://beaconstate.ethstaker.cc> .   Nimbus currently uses an initial state hosted by AVADO.

There is no need to change the Initial State setting, although you have flexibility to choose a different source if you desire.  You can explore more trusted sources on <https://eth-clients.github.io/checkpoint-sync-endpoints/>

You can verify the checkpoint sync by opening the **Check** page.  Here, you can compare the "state root" (the hash of a specific block) that your node recognizes with the state roots provided by other trusted sources.  If all the state roots match, it indicates that the initial state used by your Consensus Client is trustworthy.

<figure><img src="/files/VBnDLs9THdMXFlQdrXPp" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
There is currently an issue with the Check page, that state roots from some of the sources cannot be fetched.  This is not a cause for concern.
{% endhint %}

### F.  Enable MEV-Boost

Maximal Extractable Value (MEV) is a concept that revolves around the extraction of value from the trading activities on blockchain networks.  As a node operator, there is opportunity to gain extra or "boosted" rewards when proposing a block.  This is achieved by utilizing the MEV-Boost DApp in conjunction with the Execution and Consensus Clients.

The use of MEV-Boost is optional (though highly recommended) for Solo Stakers.  For Rocketpool and Stader Stakers, the use of MEV-Boost is mandatory.  More details will be provided later in the process.

Suffice to note that, later when you have installed the MEV-Boost DApp, you will need to come back to this Settings page and check the **Enable MEV-Boost** button (labeled **F** in the main figure above) for it to work.

### G.  Apply Changes

Once you have made any modifications to the settings, click **Apply changes** to proceed.  The Consensus Client will restart with the updated settings.  Alternatively, you can click **Revert changes** to discard the changes, or click **Reset defaults** to restore the default AVADO settings.

## Next Steps

Congratulations!  Now you have configured the Consensus Client and it shall start to sync up to the Beacon Chain. &#x20;

Thanks to the use of Checkpoint Sync, the Consensus Client starts with data from the recent past and only needs to "catch up" to the current head of the blockchain.  This is a relatively fast process that will only take a few minutes to no more than an hour's time.

Please follow the following links to learn how to monitor the syncing process for your chosen Consensus Client:

* [**Teku**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/teku#tekus-syncing-process)
* [**Prysm**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/prysm#prysms-syncing-process)
* [**Nimbus**](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/nimbus#nimbus-syncing-process)


# Syncing the Consensus Client

<table data-column-title-hidden data-view="cards" data-full-width="false"><thead><tr><th align="center"></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><strong>Teku</strong></td><td></td><td></td><td><a href="/files/V6Jp1UmYS2OSjLRn8IWz">/files/V6Jp1UmYS2OSjLRn8IWz</a></td><td><a href="/pages/WxnSEaDvt0LlTOgi84xF">/pages/WxnSEaDvt0LlTOgi84xF</a></td></tr><tr><td align="center"><strong>Prysm</strong></td><td></td><td></td><td><a href="/files/2zeGpSa7UmiGFpqKUhTB">/files/2zeGpSa7UmiGFpqKUhTB</a></td><td><a href="/pages/nYhHKu8joD3YbXP3ac9J">/pages/nYhHKu8joD3YbXP3ac9J</a></td></tr><tr><td align="center"><strong>Nimbus</strong></td><td></td><td></td><td><a href="/files/K5InY9HrKdHGto5Uz5aw">/files/K5InY9HrKdHGto5Uz5aw</a></td><td><a href="/pages/li16nu59JdazIB8WoHTd">/pages/li16nu59JdazIB8WoHTd</a></td></tr></tbody></table>


# Teku

## Teku's Syncing Process

By default, Teku uses a recently finalized checkpoint state from a community source, and only need to catch up to the current head of the blockchain.  This process is relatively fast, usually taking **only a few minutes to no more than an hour**.

Teku's DApp and the **Logs** provide useful information about it's activities.  To observe the syncing progress:

1. Check the **status** in the [**Teku DApp**](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth).   The status will change from `syncing` to `in sync` when it is fully synced.

<figure><img src="/files/jfYz6IksFWOf47GYdaTR" alt=""><figcaption></figcaption></figure>

2. Inspect the Logs.  Familiarizing yourself with the Logs enables you to confidently assess whether the process is running smoothly or if any issues require attention.  To access the Logs, open the Teku [**Management Page**](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth/detail) from the **My Dapps** menu and scroll to the bottom.

Once Teku has started up and initialized, you should start to see the following lines in the Logs:

<pre><code><strong>INFO  - Syncing     *** Target slot: 8735594, Head slot: 8735488, Remaining slots: 106, Connected peers: 5
</strong>INFO  - Syncing     *** Target slot: 8735595, Head slot: 8735491, Remaining slots: 104, Connected peers: 5
INFO  - Syncing     *** Target slot: 8735596, Head slot: 8735497, Remaining slots: 99, Connected peers: 13
INFO  - Syncing     *** Target slot: 8735597, Head slot: 8735504, Remaining slots: 93, Connected peers: 11
INFO  - Syncing     *** Target slot: 8735598, Head slot: 8735512, Remaining slots: 86, Connected peers: 11
</code></pre>

This indicates that Teku is in "Syncing" mode.  You will notice the Target slot counting up, and the Remaining slots counting down, until eventually Teku reports "Syncing completed":

```
INFO  - Syncing     *** Target slot: 8735604, Head slot: 8735584, Remaining slots: 20, Connected peers: 38
INFO  - Syncing     *** Target slot: 8735605, Head slot: 8735598, Remaining slots: 7, Connected peers: 36
INFO  - Syncing completed
INFO  - Slot Event  *** Slot: 8735606, Block: bff74d8385b48876def789819dce3175b4eea683d3ca185d241a7e891c6bfe16, Justified: 272986, Finalized: 272985, Peers: 43
INFO  - Slot Event  *** Slot: 8735607, Block: 3a9aa0f858e8c55ea82dc2424fb51968e6a8cf2d367efc733dc2e3a275e4e17e, Justified: 272986, Finalized: 272985, Peers: 43
INFO  - Slot Event  *** Slot: 8735608, Block: 2559cd02f5ab84a3f3c9547e0fe4683cc6eec12cf8621a0dc452adeb2dfa388c, Justified: 272986, Finalized: 272985, Peers: 47
```

The "Slot Event" messages indicate that Teku is fully synced and enters normal operation.

## Troubleshooting

If you notice that the **status** in the DApp remains stuck at "Waiting for beacon chain to become ready" without any progress, or if you come across error messages in the Logs, Teku might have a problem syncing.

<figure><img src="/files/VJkzx8ezuEKXQP7jJEK7" alt=""><figcaption></figcaption></figure>

The most common problems are:

* **Teku fails to connect to sufficient number of peers.**  If you are getting a low peer count, there may be a problem with your network setting.  See [Opening Network Ports](/quick-help/opening-network-ports) to learn how to resolve this by "opening port **9000**" on the router (port **9006** for Gnosis Teku).
* **Teku fails to find the Execution Client.**  It may be the case that you have not yet installed the Execution Client, in which case once you have set up the Execution Client this error will go away. &#x20;

```
ERROR - Execution Client request failed. Make sure the Execution Client is online and can respond to requests.
```

If you have already installed an Execution Client but this error persists, check that you have correctly selected the **Execution Engine** (Geth or Nethermind) on Teku's **Settings** page, to match with your installed Execution Client.  Remember to click **Apply changes** to update the setting.

<figure><img src="/files/1o8FsuK9oLtZBySYYsXK" alt="" width="375"><figcaption></figcaption></figure>

If the error persists, check the Logs of the Execution Client to see what is going on there.  Sometimes a **Restart** of the Execution Client and the Consensus Client is all that is needed to resolve the issue.  Please also feel free to reach out to our Discord channel for support.

## Normal Operations

Here is an example of how the Teku Logs should look like when:

* Teku is fully synced;
* The Execution Client is fully synced;
* You have loaded Validator Keys into Teku, and the Validators have become active on the Beacon Chain; and
* You have installed and configured MEV-Boost.

<figure><img src="/files/cWdWmhZR7VlgVRD46bbo" alt=""><figcaption></figcaption></figure>

Key observations:

* White, blue, and green lines indicate positive activity.
* Red texts require attention and may indicate issues.
* Teku diligently tracks each slot ("Slot Event") and each epoch ("Epoch Event").
* Blue lines represent your validator producing attestations ("Published attestation").
* Every epoch, Teku reports the "Attestation performance" of previous epochs.
* Empty blocks ("... empty"), "Late Block Import", or "Reorg Event" occasionally appear, which are normal and related to Ethereum network activities.  However, if you see excessive empty or late blocks, it may indicate a syncing issue with your node.
* If MEV-Boost is installed and working as expected, Teku registers your validators on the "builder network" every epoch, indicated by a line similar to: "Validator \*\*\* 6 out of 6 validator registration(s) were successfully sent to the builder network via the Beacon Node".

If you notice that your validators are missing attestations, it is often beneficial to inspect the Logs for any abnormal behavior or issues.


# Prysm

## Prysm's Syncing Process

By default, Prysm uses a recently finalized checkpoint state from a community source, and only need to catch up to the current head of the blockchain.  This process is relatively fast, usually taking **only a few minutes to no more than an hour**.

Prysm's DApp and the **Logs** provide useful information about it's activities.  To observe the syncing progress:

1. Check the **status** in the [**Prysm Beacon Chain DApp**](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth).  The percentage completion starts above 99% (due to Checkpoint Sync) and steadily increases.  The "sync distance", which represents the gap between the currently synced block and the chain's head, may fluctuate but should eventually reach zero.

<figure><img src="/files/DkX0aVlMcJzwM4QVzabP" alt=""><figcaption></figcaption></figure>

2. Inspect the Logs.  Familiarizing yourself with the Logs enables you to confidently assess whether the process is running smoothly or if any issues require attention.  To access the Logs, open the Prysm [**Management Page**](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth/detail) from the **My Dapps** menu and scroll to the bottom.

Once the **Prysm Beacon Chain** has started up and initialized, you should start to see the following lines in the Logs:

```
level=info msg="Called new payload with optimistic block" ...
level=info msg="Called fork choice updated with optimistic block" ...
level=info msg="Synced new block" ...
level=info msg="Finished applying state transition" ...
```

This indicates that Prysm is progressing smoothly.

## Troubleshooting

If you notice that the **status** in the DApp remains stuck at "Waiting for beacon chain to become ready" without any progress, or if you come across error messages in the Logs, Prysm might have a problem syncing.

<figure><img src="/files/xJMCzBDvQTHEhBsozUJb" alt=""><figcaption></figcaption></figure>

The most common problems are:

* **Prysm fails to connect to sufficient number of peers.**  If you are getting a low peer count, there may be a problem with your network setting.  See [Opening Network Ports](/quick-help/opening-network-ports) to learn how to resolve this (by "opening port **12000** and **13000**" on the router).
* **Prysm fails to find the Execution Client.**  It may be the case that you have not yet installed the Execution Client, in which case once you have set up the Execution Client this error will go away.  For example, the following error message indicates that Prysm is expecting to connect to Geth but fails to do so.

```
level=error msg="Could not connect to execution client endpoint" error="Post "http://ethchain-geth.my.ava.do:8551" ...
```

If you have already installed an Execution Client but this error persists, check that you have correctly selected the **Execution Engine** (Geth or Nethermind) on Prysm's **Settings** page, to match with your installed Execution Client.  Remember to click **Apply changes** to update the setting.

<figure><img src="/files/1o8FsuK9oLtZBySYYsXK" alt="" width="375"><figcaption></figcaption></figure>

If the error persists, check the Logs of the Execution Client to see what is going on there.  Sometimes a **Restart** of the Execution Client and the Consensus Client is all that is needed to resolve the issue.  Please also feel free to reach out to our Discord channel for support.

## Normal Operations

Here is an example of how the Prysm Logs should look like when:

* Prysm is fully synced;
* The Execution Client is fully synced;
* You have loaded Validator Keys into Prysm, and the Validators have become active on the Beacon Chain; and
* You have installed and configured MEV-Boost.

**Prysm Beacon Chain**

<figure><img src="/files/9tsJ6bhDyMBvDbulEtg8" alt=""><figcaption></figcaption></figure>

**Prysm Consensus Client**

<figure><img src="/files/Tj7MTxFxSrWF7vAkwOHs" alt=""><figcaption></figcaption></figure>

Key observations:

* Prysm Beacon Chain diligently tracks each slot and each epoch.
* Prysm Beacon Chain periodically reports a "Peer summary".
* Prysm Consensus Client reports submitting of new attestations.
* Every epoch, Prysm Consensus Client reports on duties schedule and previous epoch voting summary.
* If MEV-Boost is installed and working as expected, Prysm registers your validators on the "builder network" every epoch, indicated by a line: "Submitted builder validator registration settings for custom builders".

If you notice that your validators are missing attestations, it is often beneficial to inspect the Logs for any abnormal behavior or issues.


# Nimbus

## Nimbus' Syncing Process

By default, Nimbus uses a recently finalized checkpoint state **hosted by AVADO**, and only need to catch up to the current head of the blockchain.  This process is relatively fast, usually taking **only a few minutes to no more than an hour**.

Nimbus' DApp and the **Logs** provide useful information about it's activities.  To observe the syncing progress:

1. Check the **status** in the [**Nimbus DApp**](http://my.ava.do/#/Packages/nimbus.avado.dnp.dappnode.eth).  The percentage completion starts above 99% (due to Checkpoint Sync) and steadily increases.  The "sync distance", which represents the gap between the currently synced block and the chain's head, may fluctuate but should eventually reach zero.

<figure><img src="/files/6B5QUHATVlnga5omluCE" alt=""><figcaption></figcaption></figure>

2. Inspect the Logs.  Familiarizing yourself with the Logs enables you to confidently assess whether the process is running smoothly or if any issues require attention.  To access the Logs, open the Nimbus [**Management Page**](http://my.ava.do/#/Packages/nimbus.avado.dnp.dappnode.eth/detail) from the **My Dapps** menu and scroll to the bottom.

Once Nimbus has started up and initialized, you should start to see the following lines in the Logs:

```
Slot start
Slot end
Eth1 sync progress
```

This indicates that Nimbus is progressing smoothly. &#x20;

## Troubleshooting

If you notice that the **status** in the DApp remains stuck at "Waiting for beacon chain to become ready" without any progress, or if you come across error messages in the Logs, Nimbus might have a problem syncing.

<figure><img src="/files/9ZZXgEYSsgmi9WRygFhW" alt=""><figcaption></figcaption></figure>

The most common problems are:

* **Nimbus fails to connect to sufficient number of peers.**  If you are getting a low peer count, there may be a problem with your network setting.  See [Opening Network Ports](/quick-help/opening-network-ports) to learn how to resolve this (by "opening port **9100**" on the router).
* **Nimbus fails to find the Execution Client.**  It may be the case that you have not yet installed the Execution Client, in which case once you have set up the Execution Client this error will go away. &#x20;

```
No synced execution layer available for deposit syncing 
```

If you have already installed an Execution Client but this error persists, check that you have correctly selected the **Execution Engine** (Geth or Nethermind) on Nimbus' **Settings** page, to match with your installed Execution Client.  Remember to click **Apply changes** to update the setting.

<figure><img src="/files/1o8FsuK9oLtZBySYYsXK" alt="" width="375"><figcaption></figcaption></figure>

If the error persists, check the Logs of the Execution Client to see what is going on there.  Sometimes a **Restart** of the Execution Client and the Consensus Client is all that is needed to resolve the issue.  Please also feel free to reach out to our Discord channel for support.

## Normal Operations

Here is an example of how the Nimbus Logs should look like when:

* Nimbus is fully synced;
* The Execution Client is fully synced;
* You have loaded Validator Keys into Nimbus, and the Validators have become active on the Beacon Chain; and
* You have installed and configured MEV-Boost.

<figure><img src="/files/E03SWRAh7C8yTkdYhZX0" alt=""><figcaption></figcaption></figure>

Key observations:

* Nimbus diligently tracks each slot ("Slot start") and each epoch.
* The line "Attestation sent" indicates that your validators have produced attestations.
* Nimbus does not announce registering your validators on the builders network, even though MEV-Boost is enabled.

If you notice that your validators are missing attestations, it is often beneficial to inspect the Logs for any abnormal behavior or issues.


# Syncing the Execution Client

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><strong>Geth</strong></td><td></td><td></td><td><a href="/files/sXOP2AX4L4xV9pBA8Ji0">/files/sXOP2AX4L4xV9pBA8Ji0</a></td><td><a href="/pages/V0dh6tnBVzaq8BprY3wB">/pages/V0dh6tnBVzaq8BprY3wB</a></td></tr><tr><td align="center"><strong>Nethermind</strong></td><td></td><td></td><td><a href="/files/4Sjl0ZJ8526kuxfTs8BL">/files/4Sjl0ZJ8526kuxfTs8BL</a></td><td><a href="/pages/Ppeg0tUeCEDiRRgKMPEX">/pages/Ppeg0tUeCEDiRRgKMPEX</a></td></tr></tbody></table>


# Geth

## Understanding the Geth Syncing Process

Syncing is a multi-stage process that Geth undergoes to download, verify, and reconstruct the complete global state of Ethereum.  Initially, Geth connects to other participating nodes, known as **peers**, on the network to exchange data.  It then proceeds to download chain and state data, and rebuilds a local representation of the entire Ethereum state.  However, the blockchain is also progressing at the same time, so Geth will also need to catch up to the current state.

The following sections will outline the different stages of syncing and provide insights into what you can expect to observe in the logs.  This knowledge will enable you to quickly assess whether the syncing process is proceeding smoothly or if any issues require your attention.

<div data-full-width="true"><figure><img src="/files/5RHpoLQZd5FfZuMSPUyA" alt=""><figcaption><p>The outline of Geth syncing process</p></figcaption></figure></div>

## Monitoring the Syncing Process

To monitor the syncing progress, you can refer to the **Home Page**, specifically the **Chains - Ethereum** section.  Keep an eye on the status bar, which will gradually advance towards 100%.

<figure><img src="/files/xuKc70Qy4ouQksjRNgfg" alt="" width="281"><figcaption></figcaption></figure>

Once it reaches 100% and the progress bar turns green, your Geth client is fully synced, indicating that you are ready to perform your node duties on the Ethereum network.

<figure><img src="/files/wP3ojFIoD1inlZGVFcLZ" alt=""><figcaption></figcaption></figure>

To ensure a smooth syncing experience, we recommend familiarizing yourself with the sync process and actively monitoring the **Logs.** By doing so, you can gain confidence in determining whether the syncing process is progressing smoothly or if any issues require your attention.

To access the Logs, go to the [**Management Page**](http://my.ava.do/#/Packages/ethchain-geth.public.dappnode.eth/detail) for Geth.  You can navigate to this page from the **My DApps** menu.  The Management Page offers a range of controls and settings to manage Geth. &#x20;

<figure><img src="/files/pBv0s0YuRmAQxxujWunw" alt=""><figcaption></figcaption></figure>

On the Management Page, simply scroll down to the bottom to find the logs.

## Stage 1.  Startup

When Geth starts up, it undergoes a series of configuration details and status checks.  It then initiates the process of connecting to other nodes on the network until it establishes enough peers.  During this phase, you will notice lines in the logs that display, for example:

```
Looking for peers                       peercount=2 ...
```

If everything is functioning properly, the `peercount` number on the same line will gradually increase, and eventually, Geth will no longer report "Looking for peers".  This is the expected behavior and indicates that the syncing process is progressing smoothly.

However, there are some common issues that may arise:

### Geth unable to find peers

{% hint style="info" %}
Geth cannot sync until it is connected to a sufficient number of peers.
{% endhint %}

If you consistently see the "Looking for peers" message without an increase in the `peercount` value, it indicates that Geth is unable to establish connections with peers on the network.  The most common cause of this issue is a network problem.  Resolving this may require adjusting certain settings, such as "enabling uPnP" or "opening port **30303**" on your router.  You can refer to this guide on [Opening network ports](/quick-help/opening-network-ports).

### No beacon client detected or beacon chain not operational

{% hint style="info" %}
Geth cannot sync until the connected Consensus Client is synced.
{% endhint %}

If you have not installed and synchronized a Consensus Client (such as Nimbus, Teku, or Prysm), Geth cannot sync.  If you encounter the following messages:

```
Post-merge network, but no beacon client seen. Please launch one to follow the chain!
```

```
Beacon client online, but never received consensus updates. Please ensure your beacon client is operational to follow the chain!
```

It is likely that either you have not installed and synced a Consensus Client, or there is an issue with your existing Consensus Client.  Check the logs of the Consensus Client to determine the cause of the problem.

Sometimes, there may be a communication problem between Geth and the Consensus Client.  Restarting both can often resolve this.  Begin by restarting the Consensus Client, and then restart Geth.  You can find the **Restart** button on the respective client's Management Page.

### Connection refused, or NaN%

When initially starting Geth, you may see this error on the Home Page:

<figure><img src="/files/swVvMLQ3DW66WhiDAZ6F" alt="" width="287"><figcaption></figcaption></figure>

Also during the initial phase, you may get an "NaN%" on the progress bar:

<figure><img src="/files/lPWTampdhwnPPU0IlmZ8" alt="" width="287"><figcaption></figcaption></figure>

These warnings may suggest a potential issue with Geth, but they could also be a non-issue.  To determine the cause, it is advisable to examine the Geth logs for any problems related to starting Geth, finding peers, or connecting to the beacon chain.  By addressing any identified issues, the errors and warnings should no longer persist.

If the Geth logs appear normal and do not indicate any problems, it is possible that the anomalies are transient and will resolve themselves without further intervention.

## Stage 2.  Syncing Beacon Headers

Once Geth successfully establishes connections with both the peer network and the Consensus Client, the main syncing process begins.  By default, Geth utilizes "**snap sync**".  In snap sync, Geth starts from a relatively recent block and syncs from there to the head of the chain.&#x20;

During this phase, you should observe messages in the logs similar to this:

```
Syncing beacon headers                    ... eta=1h20m
```

To locate the `eta` value, scroll to the far-right end of the line.  This value represents the estimated time required for this phase to complete and should gradually decrease as the process advances.

## Stage 3.  Downloading Chain and State Data

After Geth finishes syncing to the recent blocks, it proceeds to download the main bulk of the blockchain data. &#x20;

Simultaneously, Geth initiates state-sync.  During state-sync, Geth downloads portions of a "state trie" and reconstructs the complete information locally.  A "state trie" is a data structure used in Ethereum to efficiently and securely store account balances, contract code, and other essential information related to the Ethereum network.

This is the most resource-intensive phase of the syncing process.  You can observe that the CPU usage remains very high during this time.  Make sure you use a fan to keep your AVADO device cool.

During this phase, you should observe messages in the logs similar to:

```
Syncing: chain download in progress        synced=76.37% ...
```

```
Syncing: state download in progress        synced=25.05% ...
```

Notice that the percentage numbers should steadily increase.  The `eta`, located at the far-right end of the log line, represents the estimated time required for this phase to complete and should gradually decrease as the process advances.  Additionally, on the Home Page, you should observe that the progress bar indicates a percentage that is steadily progressing.

## Stage 4.  State Heal

During the snap-sync process, the state download phase attempts to reconstruct the blockchain state.  However, as the blockchain continues to progress, it invalidates some of the regenerated state data.  To address this, a "healing" phase is necessary to reconcile the continual changes in the state.

When this healing phase occurs, Geth reports the following in the log:

```
Syncing: state healing in progress
```

Due to the dynamic nature of state changes, it is not possible to estimate the duration of the state heal.  If Geth consistently reports "state healing in progress" during and after the state download process, it indicates that the state heal has not yet completed.  Users are advised to patiently wait for it to finish.

{% hint style="info" %}
**Syncing no longer get "stuck" at 99%.**

In earlier versions of Geth, some users experienced a situation where the syncing process appeared to be "stuck" at 99% for an extended period.  This was primarily due to the state regeneration and state heal steps which which could take a long time. &#x20;

However, newer versions of Geth have significantly improved this user experience.  With the introduction of the "path state scheme" (`--state.scheme=path`) option, syncing should no longer get stuck at 99%.  This option has become standard staring from Geth v1.14.0 (AVADO Geth package 10.0.64).
{% endhint %}

## Stage 5.  Generating State Snapshots

Once the state heal process is complete, your node will be fully synced.  If you have already activated your validators, you should notice that they start attesting.

However, for a few hours, Geth may still appear busy, and the CPU usage may remain high.  This may even cause your validators to miss attestations if they are already activated.

This is because Geth is engaged in generating state snapshots.  State snapshots are a feature introduced in Geth to improve the efficiency and speed of syncing Ethereum nodes.  Generating state snapshots is a resource intensive task that requires significant computational power and disk space.  However, once the state snapshot is generated, it can be stored and shared among multiple nodes, significantly reducing the time and resources needed for syncing.

During this phase, you will observe the following messages in the logs repeatedly:

```
Generating state snapshot
Aborting state snapshot generation
Resuming state snapshot generation
```

This behavior is normal.  Geth attempts to perform snapshot generation between the arrival of new blocks to minimize interruption.  Allow Geth to complete the snapshot generation process.  This will take several hours to settle down.

Remember to ensure that you continue using a fan to keep your AVADO device cool.

## Common Warnings

Throughout the syncing process, you may encounter the following warnings.  It is important to note that these warnings are harmless and do not indicate any significant issues:

* Forkchoice requested sync to new head
* Snapshot extension registration failed
* Pivot seemingly stale, moving  &#x20;
* Unexpected account range packet   &#x20;
* Unexpected storage ranges packet
* Unexpected bytecode packet
* Unexpected trienode heal packet
* Expired request does not exist &#x20;
* Pending request exists for joining peer
* Peer stalling, dropping &#x20;
* Ignoring payload while snap syncing
* Dropping unsynced node during sync

During normal operations, you may also come across the following warnings.  These warnings are expected and do not indicate any cause for concern:

* Announced transaction size mismatch &#x20;
* Peer delivering stale transactions&#x20;
* Blob transaction swapped out by signer

## Normal Operations

Once your Geth client is fully synced and operating normally, the logs should appear similar to the following:&#x20;

<figure><img src="/files/FjH9BjQUxVdo4329jUIn" alt=""><figcaption></figcaption></figure>

The shows that Geth continuously imports new chain segments and updates the chain head to maintain the latest state of the blockchain. &#x20;

## How long does it take?

The syncing process can be time-consuming, and the duration will primarily depend on the specifications of your hardware and the speed of your network connection. &#x20;

Drawing from a recent experience (May 2024), using an AVADO i7/4TB device with a 1 Gbps fiber connection, it took approximately **11.5 hours** from the start of the process until the Consensus Client was able to initiate attestations.  The complete sync took about 16 hours.

A more detailed breakdown is as follows.  This is for reference only.  Your experience may be different.

<table><thead><tr><th width="164">Elapsed Time</th><th>Actions</th></tr></thead><tbody><tr><td><code>00:00</code></td><td>Start of process<br>"Looking for peers ..."<br>"Syncing beacon headers ..." </td></tr><tr><td><code>00:30</code></td><td>Finished "syncing beacon headers"<br>Syncing: chain download in progress <br>Syncing: state download in progress <br>CPU usage stays high throughout (100%)</td></tr><tr><td><code>07:30</code></td><td>Finished "state download"<br>Syncing: chain download in progress ... <br>Syncing: state healing in progress ... (intermittently)</td></tr><tr><td><code>11:30</code></td><td><p>Finished "chain download"<br>Rebuilding state snapshot </p><p>Generating state snapshot (initial eta ~4h) </p><p>Aborting/Resuming state snapshot generation </p><p>Upgrading chain index</p></td></tr><tr><td><strong><code>11:30</code></strong></td><td><strong>Consensus Client started attestations</strong></td></tr><tr><td><code>16:00</code></td><td>Finished "generating state snapshot"</td></tr></tbody></table>

*Remark: AVADO Geth package 10.0.64 (based on Geth v1.14.0), default to "path state scheme"*


# Nethermind

## Understanding the Nethermind Syncing Process

{% hint style="info" %}
**Speed Advantage of Nethermind**

Nethermind can sync to the network relatively quickly, by first downloading only the latest state, headers, and optionally bodies and receipts.  This enables the Consensus Client to begin performing attestations in just around 3 hours.
{% endhint %}

Syncing is a multi-stage process that Nethermind undergoes to download, verify, and reconstruct the complete global state of Ethereum.  Initially, Nethermind connects to other participating nodes, known as **peers**, on the network to exchange data.  It then proceeds to download chain and state data, and rebuilds a local representation of the entire Ethereum state. &#x20;

The following sections will outline the different stages of syncing and provide insights into what you can expect to observe in the logs.  This knowledge will enable you to quickly assess whether the syncing process is proceeding smoothly or if any issues require your attention.

<figure><img src="/files/2hw5gXavuZlkeShAdzkD" alt=""><figcaption><p>The outline of Nethermind syncing process</p></figcaption></figure>

## Monitoring the Syncing Process

**There is a known issue** with the progress bar on the Home screen not functioning properly for Nethermind.  You may notice that the progress remains at 0% for a significant amount of time, and then suddenly jumps to 100% when Nethermind is fully synced.  To reliably monitor the progress, it is recommended to use the Logs, as they provide a more accurate depiction of the syncing process.

<figure><img src="/files/ifJLDpvZSEUdr6MrUQdP" alt=""><figcaption></figcaption></figure>

To ensure a smooth syncing experience, we recommend familiarizing yourself with the sync process and actively monitoring the **Logs.** By doing so, you can gain confidence in determining whether the syncing process is progressing smoothly or if any issues require your attention.

To access the Logs, go to the [**Management Page**](http://my.ava.do/#/Packages/avado-dnp-nethermind.public.dappnode.eth/detail) for Nethermind.  You can navigate to this page from the **My DApps** menu.  The Management Page offers a range of controls and settings to manage Nethermind. &#x20;

<figure><img src="/files/Co6MCk9HmZYXZf7qbwHZ" alt=""><figcaption></figcaption></figure>

On the Management Page, simply scroll down to the bottom to find the logs.

### The Health Check Page

Nethermind features a [**Health Check**](http://my.ava.do/#/Packages/avado-dnp-nethermind.public.dappnode.eth) page that provides a quick overview of the system's status, indicating whether everything is functioning normally.  You can reach this page by clicking on the [**Open**](http://my.ava.do/#/Packages/avado-dnp-nethermind.public.dappnode.eth) button on the My DApps page (or simply clicking the name of the Nethermind package).  Alternatively, you can also come to this page by clicking on the Nethermind icon on the Home Page.

<figure><img src="/files/pyuUYpK5Yvmw6kFhyq51" alt=""><figcaption></figcaption></figure>

In this example, the status of Nethermind is "Healthy".  It is fully synced, and it is connected to 50 peers (which is a good number for and Execution Client).

<figure><img src="/files/z26BoGRRxEEsgwDQrUED" alt=""><figcaption></figcaption></figure>

## Stage 1.  Startup

When Nethermind starts up, it goes through a series of configuration details and status checks. Afterward, it swiftly proceeds with the following tasks:

* Initiating the syncing of beacon headers
* Commencing the snap data sync
* Initiating the download of "old headers"

A healthy representation of the Logs should appear as follows.  Take note that the number of "Peers" should gradually increase towards the maximum of 50.  Additionally, the percentage count of "Snap" and "Old Headers" should steadily rise.

<div data-full-width="false"><figure><img src="/files/xsmg7UHUrOB90cVE7Gp4" alt=""><figcaption></figcaption></figure></div>

However, there are some common issues that may arise:

### Nethermind unable to find peers

{% hint style="info" %}
Nethermind cannot sync until it is connected to a sufficient number of peers.
{% endhint %}

If Nethermind has problem connecting to peers, you may see the following messages in the Logs:

```
Peers | with best block: 0 | all: 0 | Active: none | Sleeping: all
```

```
Could not communicate with any nodes (bootnodes, trusted nodes, persisted nodes)
```

Simultaneously, this will also show up on the "Health Check" screen:

<figure><img src="/files/BqlmqoiM4hIZBUZ7sFOl" alt=""><figcaption></figcaption></figure>

Most likely there is a network problem.  Resolving this may require adjusting certain settings, such as "enabling uPnP" or "opening port **40303**" (port **30305** for Gnosis Nethermind) on your router.  You can refer to this guide on [Opening network ports](/quick-help/opening-network-ports).

### No Consensus Client detected or Consensus Client not operational

{% hint style="info" %}
Nethermind cannot sync until the connected Consensus Client is synced.
{% endhint %}

If you have not installed and synchronized a Consensus Client (such as Nimbus, Teku, or Prysm), Nethermind cannot sync.  If you encounter the following messages:

```
No incoming messages from the consensus client that is required for sync.
```

```
No incoming messages from Consensus Client. Consensus client is required to sync the node. Please make sure that it's working properly.
```

```
Waiting for Forkchoice message from consensus layer to set fresh pivot block [60s]
```

It is likely that either you have not installed and synced a Consensus Client, or there is an issue with your existing Consensus Client.  Check the logs of the Consensus Client to determine the cause of the problem.

Sometimes, there may be a communication problem between Nethermind and the Consensus Client.  Restarting both can often resolve this.  Begin by restarting the Consensus Client, and then restart Nethermind.  You can find the **Restart** button on the respective client's Management Page.

### Connection refused

When initially starting Nethermind, you may see this error on the Home Page:

<figure><img src="/files/XrbqDhhB4K9foxcJcV5b" alt="" width="188"><figcaption></figcaption></figure>

This warning may suggest a potential issue with Nethermind, but it could also be a non-issue.  To determine the cause, it is advisable to examine the Nethermind logs for any problems related to starting Nethermind, finding peers, or connecting to the beacon chain.  By addressing any identified issues, the errors and warnings should no longer persist.

If the Nethermind logs appear normal and do not indicate any problems, it is possible that the anomalies are transient and will resolve themselves without further intervention.

### Blocks Synced: 0

Also during the initial phase, you may find that the progress bar on the Home Page does not progress and remains at "0":

<figure><img src="/files/crOZDhPubUUqFEvWP11f" alt="" width="563"><figcaption></figcaption></figure>

**There is a known issue** with the progress bar on the Home Page not functioning properly for Nethermind.  You may notice that the progress remains at 0% for a significant amount of time, and then suddenly jumps to 100% when Nethermind is fully synced.  To reliably monitor the progress, it is recommended to use the Logs, as they provide a more accurate depiction of the syncing process.

## Stage 2.  Snap / Fast Sync, and State Sync

Nethermind employs an efficient syncing method to quickly sync to the blockchain, enabling the Consensus Client to commence validation early on.  It achieves this by initially downloading only the latest state, headers, bodies and receipts, while deferring the download of older block data to a later stage.  This progress is indicated by the following Log message:

```
Snap        State Ranges (Phase 1): (  x.xx%)
```

with the percentage value steadily increasing.

During the process, you will observe that CPU usage remains consistently high (100%).  Nethermind regularly reports the following actions in the Logs:

* Syncing... Inserting block ...
* Received ForkChoice ...
* Received new block ...
* Synced chain Head to ...
* Changing state ...
* Sync mode changed ...
* Peers | with best block: 25 | all: 25 | ...

These Log messages are normal.  Regarding the "peers" numbers, it is favorable to see them gradually increasing, reaching a maximum of 50.

Once Nethermind completes the Snap / Fast Sync, it transitions into a phase known as "state sync".  As the state sync nears completion, you may encounter a series of "branch sync" messages.  At a certain point, the entire state is downloaded, and the node enters the "full sync" mode.

At this stage, the Consensus Client can begin its validation responsibilities! &#x20;

It is typically expected for Nethermind to reach this milestone in approximately 3 hours.

## Stage 3.  Download Old Bodies and Old Receipts

Once the state sync process is complete, your node will be fully synced.  If you have already activated your validators, you should notice that they start attesting.

However, for a few hours, Nethermind may still appear busy, and the CPU usage may remain high.  This may even cause your validators to miss attestations if they are already activated.

This is because Nethermind is engaged in downloading the old blockchain data, called "Old Bodies" and "Old Receipts".  These data sets are needed to ensure that your node possesses a complete view of the blockchain.  Downloading the old chain data is a resource intensive task that requires significant computational power and disk space.&#x20;

During this phase, you will observe similar messages in the logs:

```
Old Bodies        7,529,598 / 19,491,929 ( 38.63 %)
```

and later:

```
Old Receipts      2,491,766 / 19,491,929 ( 12.78 %)
```

Notice that the percentage value should steadily increase.  It is normal for your validators to potentially miss some attestations during this phase due to the high system load. Operations will stabilize once the download is complete.

Remember to ensure that you continue using a fan to keep your AVADO device cool.

## Normal Operations

Once your Nethermind client is fully synced and operating normally, the logs should appear similar to the following:&#x20;

<figure><img src="/files/SlRDbt7g1BsYeFiy3bjw" alt=""><figcaption></figcaption></figure>

The shows that Nethermind continuously imports new chain segments and updates the chain head to maintain the latest state of the blockchain. &#x20;

## How long does it take?

The syncing process can be time-consuming, and the duration will primarily depend on the specifications of your hardware and the speed of your network connection. &#x20;

Drawing from a recent experience (Mar 2024), using an AVADO i7/4TB device with a 1 Gbps fiber connection, it took only approximately **2 hrs 40 mins** from the start of the process until the Consensus Client was able to initiate attestations.  The complete sync took about 11.5 hours.

A more detailed breakdown is as follows.  This is for reference only.  Your experience may be different.

<table><thead><tr><th width="164">Elapsed Time</th><th>Actions</th></tr></thead><tbody><tr><td><code>00:00</code></td><td>Start of process<br>Begin "Syncing beacon headers ..."<br>Begin "Snap - State Ranges (Phase 1) ..."<br>Begin "Old Headers ..."</td></tr><tr><td><code>01:20</code></td><td>Finished "Old Headers"<br>Continued "Snap - State Ranges (Phase 1) ..."<br>CPU usage stays high (100%)<br>On Home Page, progress remains at 0%</td></tr><tr><td><code>02:25</code></td><td>Finished "Snap - State Ranges (Phase 1) ..."<br>Begin "State sync"</td></tr><tr><td><strong><code>02:40</code></strong></td><td>Finished "State sync"<br>Finished "Branch sync"<br><strong>Consensus Client started attestations</strong><br>On Home Page, progress jumps to 100%<br>Begin "Old Bodies"</td></tr><tr><td><code>05:55</code></td><td>Finished "Old Bodies"<br>Begin "Old Receipts"<br>CPU usage stays high (100%)</td></tr><tr><td><code>11:30</code></td><td>Finished "Old Receipts"<br>Nethermind database volume: 823.6GB</td></tr></tbody></table>


# Solo Staking (32 ETH)

## The Solo Staker's Journey

Congratulations on setting up your hardware and Execution and Consensus Clients for Ethereum staking!  As a solo Ethereum staker, you are taking an active role in securing the network and contributing to its decentralized nature. &#x20;

In this guide, we will walk you through the key steps involved in your staking journey. &#x20;

The following schematic diagram provides an overview of the Solo Staker's Journey on the AVADO:

<div data-full-width="true"><figure><img src="/files/pnAbpxyJqu8c6VLlNZew" alt=""><figcaption><p>The Solo Staker's Journey</p></figcaption></figure></div>

## The Steps

The following are the steps for Ethereum staking on AVADO:

* [**Set up the ETH Clients**](/staking-ethereum/setting-up-the-eth-clients)**.**  To begin, you will need to set up your Execution and Consensus Clients.  See [Setting up the ETH Clients](/staking-ethereum/setting-up-the-eth-clients) section on how to do this.
* [**Generate Keys**](/staking-ethereum/solo-staking-32-eth/generate-keys).  You will need to generate your staking keys.  The key generation process will provide you with the **keystore** files, which contain the validator keys to be loaded into the Consensus Client.  There is also a **deposit data** file, which is required for depositing your 32 ETH stake to the Beacon Chain. &#x20;
* [**Stake 32 ETH**](/staking-ethereum/solo-staking-32-eth/deposit-32-eth).  Deposit 32 ETH as proof of stake to become an active validator.  Make the deposit at the **Ethereum Launchpad** site.
* [**Import Validator Keys**](/staking-ethereum/solo-staking-32-eth/import-validator-keys).  Import your keystore files into your chosen Consensus Client to start validator duties. &#x20;
* [**Monitor Your Node**](/staking-ethereum/solo-staking-32-eth/monitor-your-node).  Stay informed about your validator's performance and status.  Utilize the **beaconcha.in** website and mobile app for real-time updates.&#x20;
* [**Rewards and Penalties**](/staking-ethereum/solo-staking-32-eth/rewards-and-penalties).  Understand your responsibilities as a validator, including attesting and proposing blocks.  Learn about potential rewards and penalties for missed duties or non-compliance with network rules.
* [**Set up MEV-Boost**](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost).  MEV (Maximum Extractable Value) is a concept that allows Ethereum validators to optimize their earnings by prioritizing and including profitable transactions in blocks.  Make use of the **MEV-Boost** package to increase your earning potential.
* [**Set Withdrawal Address**](/staking-ethereum/solo-staking-32-eth/set-withdrawal-address).  Control the destination of your staked funds and rewards by setting the Withdrawal Address. &#x20;
* [**Exit from a Solo Validator**](/staking-ethereum/solo-staking-32-eth/exit-from-a-solo-validator).  At some point, you may decide to exit from the validation process.  Our guide will provide you with the necessary information and steps to finally exit.

Let's go!


# Generate Keys

Staking keys play a crucial role in Ethereum staking as validators use them to sign attestations and proposals.  These keys are also necessary for depositing the 32 ETH stake.  Additionally, the staking keys will be used to set the Withdrawal Address for receiving rewards and making final withdrawals. &#x20;

As a user looking to participate in staking, you will need to generate your own staking keys.

In this section, we will provide detailed instructions on generating and securely managing your staking keys using the **Wagyu Key Generator** software.

{% hint style="warning" %}
**AVADO ETH2.0 Key Generator deprecated**

AVADO used to provide an “ETH2.0 Key Generator” package for generating the staking keys.  **This is no longer used.**  It is recommended that you use the Wagyu Key Generator software as detailed below.
{% endhint %}

## Before you Begin

Before you begin the key generation process, there are a few important points to keep in mind:

1. Prepare pen and paper to write down important information. This includes the **24-word secret recovery phrase** (also called the “mnemonic”, or the “seed phrase”) and the **keystore password**. Safely storing and keeping these details secure is your responsibility.
2. It is vital to have multiple secure backups of your secret recovery phrase and password.  The secret recovery phrase is the only way to withdraw your stake, so treat it with extreme care.  Losing this information will result in permanent loss of access to your funds.

{% hint style="warning" %}
**Warning: Keep your secret recovery phrase safe**

If you lose the 24 word mnemonic phrase, no one will be able to help you.
{% endhint %}

3. If possible, use an "air-gapped" computer during the key generation process.  An air-gapped computer is one that is not and has not been connected to any network, minimizing the risk of exposing your secret recovery phrase.  If an air-gapped computer is not available, ensure you disconnect from the internet by turning off all networking options (unplugging Ethernet, switching off Wi-Fi, etc.) while generating your keys.

{% hint style="info" %}
**Tips:** For advanced users, consider using a live operating system like [Tails](https://tails.net/) installed on a USB drive, and run it on a computer with disabled network capabilities for added security.
{% endhint %}

## Step 1: Install the Wagyu Key Generator on your Computer

**Wagyu Key Generator** is a user-friendly, free, and open-source GUI application that facilitates the creation of Ethereum staking keys.  With Wagyu, generating keys is a seamless and intuitive process, eliminating the need for users to type any commands on the command line.

Visit <https://wagyu.gg/> and download the Wagyu Key Generator for your computer’s operating system. Make sure you download from the official site, and not from anywhere else.

<figure><img src="/files/KRqPtWiIadOWcYIpAhvC" alt="" width="563"><figcaption></figcaption></figure>

When you first attempt to run the software, your computer may warn you that this is an unrecognized app.  Given that you have downloaded the software from its official site, you can proceed to override the default security setting.

{% tabs %}
{% tab title="Mac" %}

<figure><img src="/files/qyDYrDAeGQs2SIVBpqj2" alt="" width="372"><figcaption></figcaption></figure>

Assume you’ve installed Wagyu to the Applications folder.  In the Finder on your Mac, navigate to the Applications folder and locate the Wagyu app.  **Right-click** the app icon, then choose **Open** from the shortcut menu.  Then choose **Open** again to open it.  The app will be saved as an exception to your security settings, and next time you can open it normally by double-clicking it.
{% endtab %}

{% tab title="Windows" %}

<figure><img src="/files/kmWeIQB6dTWqwb2f6k7T" alt=""><figcaption></figcaption></figure>

On the “Windows protected your PC” warning screen, click “More info”, then choose “Run anyway” to proceed.
{% endtab %}
{% endtabs %}

Once complete the Key Generator will open:

<figure><img src="/files/X4g8HOHOs9oUQJXgMM6p" alt="" width="563"><figcaption></figcaption></figure>

On the Welcome screen, if you see the “INTERNET DETECTED” message on the upper-left, this is a reminder that your computer is still connected to the internet.  This is a good time to unplug the ethernet cable, and turn off the Wi-Fi.

<figure><img src="/files/EPJvfZ1THXHTuduqtRwa" alt="" width="563"><figcaption></figcaption></figure>

## Step 2: Create your Secret Recovery Phrase

If this is the first time you generate an Ethereum staking key, click **Create New Secret Recovery Phrase** to start.

Select **Mainnet** for Network.

<figure><img src="/files/hay2D5HzQCw6IGEWKo50" alt="" width="563"><figcaption></figcaption></figure>

Wagyu reminds you again the importance of keeping both your secret recovery phrase and you validator keys safe and secure.  Heed the warnings!

<figure><img src="/files/TI15O6GjEZTfWtGsagQS" alt="" width="563"><figcaption></figcaption></figure>

When you’re ready, click **Create** to generate the secret recovery phrase.

<figure><img src="/files/nfIchT4NG7FNguRL4FyS" alt="" width="563"><figcaption></figcaption></figure>

This is your 24-word secret recovery phrase.  Write it down, make multiple copies, and refrain from using the clipboard to copy or otherwise storing it electronically.  When you're ready, click **Next**.

This is your chance to check the you’ve got your secret recovery phrase complete and correct.

<figure><img src="/files/H81pcCIrmRDGwyfOEOSi" alt="" width="563"><figcaption></figcaption></figure>

## Step 3: Creating your Keys

In the next screen, **Create Keys**, there are three important pieces of information that need consideration.

<figure><img src="/files/eO5B6zjD19fzb6o3c9x3" alt=""><figcaption></figcaption></figure>

### Number of New Keys

This is the number of validator keys you want to generate.  Each validator requires a deposit of 32 ETH.

If you’re creating only one validator, enter “1” here.  You will obtain *one* **keystore** file, and *one* **deposit data** file.  The deposit data file will contain information for depositing *one* lot of 32 ETH stake.  You’ll need to upload this deposit data file to the Ethereum Launchpad web site to make the deposit.

If you intend to create multiple validators, enter a number larger than “1”.  Keep in mind that:

* You will obtain *multiple* keystore files, one for each validator;
* However, you will still receive *one* deposit data file that contains information for *multiple lots* of 32 ETH stake;
* During the deposit step, you will be asked to deposit for *all* of validators specified, that is, 64 ETH for 2 validators, 96 ETH for 3 validators, and so on. &#x20;

Consider whether you want to make all the deposits at once, or start with a smaller batch and deposit for additional validators later.  You can easily come back to create additional validator keys and a corresponding deposit data file at a later stage.

### Password

This is the password for your **keystore** file(s).  You will upload the keystore files to your validators on the AVADO and you will need this password at that time.  Remember to write down this password and keep it secure along with the secret recovery phrase.

### Ethereum Withdrawal Address

This is your Ethereum address for receiving consensus rewards and making the final withdrawal of your stake.  Ensure that you have control over this address, preferably using a secure wallet address such as a hardware wallet. &#x20;

Be cautious when selecting the address as it can only be set once and cannot be changed later. If you lose the private key of this address, you will lose access to your deposit and rewards.

{% hint style="danger" %}
**Warning: Do NOT use an exchange address!**

Using an exchange address as your Withdrawal Address for staking is extremely risky.  Most exchanges are not equipped to handle Ethereum staking rewards and withdrawals.  As a result, you will likely face significant challenges or even be unable to retrieve your deposit and rewards.
{% endhint %}

Although setting the Withdrawal Address is optional at this point, it's recommended that you set it now for added security.  This ensures that if your secret recovery phrase, or even your AVADO, is stolen in the future, the perpetrators won't be able to divert your funds from the Withdrawal Address since this cannot be changed.  Hence, it's advisable to decide and set your Withdrawal Address now for better protection.

If you nevertheless prefer to set the Withdrawal Address at a later time, you can leave the Ethereum Withdrawal Address box empty.  You can always set the Withdrawal Address later using your 24-word secret recovery phrase, and using tools like AVADO's ETH Withdrawal Address Tool.

When you are ready, click **Next** to continue.  You will be asked to re-type the keystore password in the next screen to confirm.

## Step 4: Create your “deposit\_data” and “keystore” files

Now choose a folder where you will be receiving your keystore file(s) and deposit data file.  If you’re doing this offline, as recommended, put the files on a USB stick to move them to your internet connected machine.

<figure><img src="/files/D2IOpISF5pZJeN3vC9wX" alt="" width="563"><figcaption></figcaption></figure>

Click **Create** to proceed. After a short while, you will obtain the following output files:

* Keystore file(s) (`keystore-xxxxxxx.json`), one for each validator.  You will need these files to set up your validators to “sign” transactions.  Do not share with anyone.
* Deposit data file (`deposit_data-xxxxxx.json`).  There should only be one file.  This file represents the public information about your validator.  You will need this file to deposit your 32 ETH per validator at the Ethereum Launchpad site.

In the event these files are lost or become inaccessible, they can always be recreated from your secret recovery phrase.  See [Re-generate or Generate More Keys](/staking-ethereum/solo-staking-32-eth/generate-keys/re-generate-or-generate-more-keys) for instructions.

<figure><img src="/files/VYHaJB52BH3nUZ5vccmA" alt=""><figcaption></figcaption></figure>

Congratulations, you’ve successfully generated your staking keys!

## Next Steps

Now, let's take a moment to revisit [The Solo Staker's Journey](/staking-ethereum/solo-staking-32-eth) diagram to understand what you have accomplished so far.

<figure><img src="/files/nPCk2DCogm5xt9PztkIv" alt=""><figcaption></figcaption></figure>

* You have created the deposit data file, which needs to be uploaded to the deposit site along with a 32 ETH deposit per validator.
* You have generated the keystore file(s), which can be imported into your validators.
* You have obtained the seed phrase, which serves as a backup and can be used to regenerate the keystore files and deposit data file if needed.  It also allows you to generate additional new keys in the future.  Furthermore, if you haven't set the withdrawal address yet, the seed phrase can be used to set it.

With these steps completed, you can now proceed to make your deposit!


# Re-generate or Generate More Keys

## Use Wagyu Key Gen with Existing Mnemonic

You can use the 24-word secret recovery phrase to create additional validator keys; or to re-generate your deposit\_data and keystore files in the event you lost access to these files.  You can use the Wagyu Key Generator software for this purpose.  It doesn't matter what tool you originally used to generate your keys; different tools should all adhere to the same standards.

Follow the same procedure in [Generate Keys](/staking-ethereum/solo-staking-32-eth/generate-keys) to install the Wagyu Ken Generation software if you haven't already installed it.  The usual precautions apply: it is best to use an "air-gapped" computer during the procedure.  If an air-gapped computer is not available, ensure you disconnect from the internet by turning off all networking options (unplugging Ethernet, switching off Wi-Fi, etc.) while handling your secret recovery phrase and generating your keys.

On the Welcome screen, instead of choosing to "Create New Secret Recovery Phrase", choose **Use Existing Secret Recovery Phrase** instead. &#x20;

<figure><img src="/files/ctVQNFKhJNAREm5FEbzL" alt=""><figcaption></figcaption></figure>

Then to the question "How would you like to use your existing secret recovery phrase", choose **Generate existing or new validator keys**.&#x20;

<figure><img src="/files/nrOFxWq1RZ9RAftB6aAd" alt="" width="563"><figcaption></figcaption></figure>

On the next screen, enter your 24-word secret recovery phrase.  Once your secret recovery phrase is verified, the **Create Keys** screen will show.

<figure><img src="/files/Ogeq3oWWJpcfGmNajM7V" alt=""><figcaption></figcaption></figure>

This is where things can get a little confusing.  Read the following carefully.

## Specifying the Keys to Generate or Re-generate

You are asked to enter **Number of New Keys** and **Amount of Existing (starting index)**. &#x20;

Think of it this way.  When a 24-word secret recovery phrase was initially generated for you, a whole chain of "keys" were already pre-cut and arranged in a pre-determined sequence, starting from index #0, #1, #2, and so on.  All that Wagyu Key Gen software (or any other key generation software) is doing, is to **select** the item(s) from this key chain, and **output** the corresponding keystore file(s) for you.

<div data-full-width="true"><figure><img src="/files/c7dq7o8122sHgu7x2Z85" alt=""><figcaption><p>All keys are pre-cut and arranged in a pre-determined sequence derived from the 24-word mnemonic</p></figcaption></figure></div>

Assume you had initially generated **one** key.  This would have been the **first** item in the chain, which has an index **#0**.  The corresponding keystore file is named:&#x20;

* keystore-m\_12381\_3600\_<mark style="background-color:green;">**0**</mark>\_0\_0-xxxxxxxxxx.json

where the `m_12381_3600` portion is the "derivation path" of the keys and is standard for all Ethereum addresses.  The following digit "0" (highlight in green) is the index number of the key, in this case, this is the first key with index **#0**.

The trailing `xxxxxxxxxx` portion is a Unix timestamp which is a code that represents the time when the file was generated.

The subsequent keys have indices #1, #2, #3, and so on, and their keystore files have standard names, respectively:

* keystore-m\_12381\_3600\_<mark style="background-color:green;">**1**</mark>\_0\_0-xxxxxxxxxx.json
* keystore-m\_12381\_3600\_<mark style="background-color:green;">**2**</mark>\_0\_0-xxxxxxxxxx.json
* keystore-m\_12381\_3600\_<mark style="background-color:green;">**3**</mark>\_0\_0-xxxxxxxxxx.json

Now this is how you specify the **Number of New Keys** and **Amount of Existing (starting index)**.  These terms are a little misleading.  Instead, think of the "number of new keys" as *"how many"* to generate, and "amount of existing (starting index)" as *"from where"* to start. &#x20;

Assume you had previously generated **one** key (#0):

<table data-header-hidden><thead><tr><th width="346"></th><th align="center"></th><th align="center"></th></tr></thead><tbody><tr><td></td><td align="center"><strong>No. of New Keys</strong><br><strong>("how many")</strong></td><td align="center"><strong>Starting Index</strong><br><strong>("from where")</strong></td></tr><tr><td><em>Re-generate</em> the first key (#0)</td><td align="center">1</td><td align="center">0</td></tr><tr><td>Generate one new key (#1)</td><td align="center">1</td><td align="center">1</td></tr><tr><td>Generate two new keys (#1, #2)</td><td align="center">2</td><td align="center">1</td></tr></tbody></table>

In other words, "regenerate the first key" means generate 1 key, starting from index #0.  "Generate one new key" means generate 1 key, starting from index #1, and so on.

In this way, you can confidently generate, or re-generate, any one or more keys from the key set and obtain the corresponding keystore file(s).

You can open up the keystore file using a text editor, to check its **pubkey** value.

<figure><img src="/files/e5Rw4f6sKabgsUS8154E" alt=""><figcaption></figcaption></figure>

If you are re-generating a key, it is important to check that the keystore file you obtained has the same **pubkey** that matches with your existing validator.  Otherwise it won't work.

{% hint style="info" %}
**You will get one keystore file per each key, but only one deposit\_data file.**

If you are generating or re-generating multiple keys, you will get one keystore file per each key you ask for, but you will only get one deposit\_data file for all the keys generated in a single operation.  Think ahead how you would like to use the deposit\_data file.  At the Staking Launchpad site where you will upload the deposit\_data file, you will be expected to make all the deposits for all the keys contained in the deposit\_data.&#x20;
{% endhint %}

## Completing the Process

Once you have specified the Number of New Keys and the Starting Index, proceed to supply a password for the keystore file(s), and a Withdrawal Address for the newly generated keys, as per the instructions in [Generate Keys - Step 3](/staking-ethereum/solo-staking-32-eth/generate-keys#step-3-creating-your-keys).

Follow the prompts to re-enter the password, and choose the download folder.  Finally, click **Create** to create the keystore file(s) and deposit\_data file.


# Deposit 32 ETH

You are about to make the deposit on the official Ethereum **Staking Launchpad** web site.  This is a serious commitment and cannot be reversed once you completed the deposit.&#x20;

{% hint style="danger" %}
Visiting the official Staking Lanuchpad is the ONLY way you can make the deposit.  Do not attempt to manually send funds to the deposit contract or your will lose your funds.

**Staking Launchpad**: [**https://launchpad.ethereum.org**](https://launchpad.ethereum.org)
{% endhint %}

## Before you Begin

Before you begin the deposit process:

1. Check that you have obtained the **deposit data** file (`deposit_data-xxxxxx.json` file) from the Key Generation step.  Make sure you have written down the secret recovery phrase and have kept it very safe.
2. Use a browser with a connected wallet.  For best experience, it is recommended to use a desktop or laptop computer with **Metamask** installed as a browser-extension wallet.  If you have a hardware wallet such as Trezor or Ledger, connect your hardware wallet to Metamask.  You can find instructions on how to do this [here](https://support.metamask.io/hc/en-us/articles/4408552261275-Hardware-Wallet-Hub).  Please be assured that connecting your hardware wallet through Metamask is a safe operation, because your private keys remain secured only in your hardware wallet and you are not relying on Metamask to manage your keys. &#x20;
3. Make sure you have prepared 32 ETH (plus some gas) in your wallet for each validator you plan to stake.  This ETH can be in your Metamask account, or if you have connected your hardware wallet to Metamask as described above, it can reside in your hardware wallet.  There is no need to *transfer* the ETH from your hardware wallet to your Metamask account.

## Step 1:  Visit the Staking Launchpad Site

Visit the Staking Launchpad site and click on the **Become a Validator** button.

Read the advisories, which provide important information about the commitment required to be a validator.  Note that some checklist items may not be applicable to you because AVADO has already taken care of hardware and software configuration, and have eliminated the need for you to use the command line.

On the Confirmation screen, click **CONTINUE** to confirm your understanding and agreement.

<figure><img src="/files/WSAnPHw4nFL6RJYFcJU9" alt="" width="563"><figcaption></figcaption></figure>

On the subsequent pages:

* Ignore the instructions for choosing and installing Execution and Consensus clients since you have already done this on AVADO.  If you haven't, refer back to the instructions on [Setting up the ETH Clients](/staking-ethereum/setting-up-the-eth-clients).
* Disregard the details on the "Generate key pairs" page as you have already completed this step. You can ignore the settings for the number of validators and withdrawal address, as this information should already be in the deposit data file.  If you haven't generated your keys, go back and follow the instructions on [Generating Keys](/staking-ethereum/solo-staking-32-eth/generate-keys).
* Simply scroll down to the bottom of the page, check the box to confirm that you have your keys and have securely stored your mnemonic phrase, and then click **CONTINUE**.

<figure><img src="/files/UjiUSsVr9GuWFikZIPzy" alt="" width="563"><figcaption></figcaption></figure>

## Step 2:  Upload the Deposit Data File

On the "Upload Deposit File" page:

1. Drag your **deposit data** file (with a name like `deposit_data-xxxxxx.json`) into the designated window.  Only upload the deposit data file, **not** your keystore json files.

<figure><img src="/files/7VYaQasa6OVabWeSJ0T1" alt="" width="563"><figcaption></figcaption></figure>

2. After dragging the deposit data file, look for a blue check mark, indicating that the deposit data file is valid.  Once you see the check mark, you can click **Continue**.

<figure><img src="/files/BEx4u1C3n6b3AM1hvQEZ" alt="" width="563"><figcaption></figcaption></figure>

## Step 3:  Connect Your Wallet

On the "Connect Wallet" page:

1. Suggest you choose **Metamask**.  If you have a hardware wallet such as Trezor or Ledger, connect your hardware wallet to Metamask.

<figure><img src="/files/EBK5gydHU9mEa4xXzswt" alt="" width="563"><figcaption></figcaption></figure>

2. Make sure you are connected to Ethereum Mainnet on Metamask, and you have selected the correct Metamask or hardware wallet account that contains your 32 ETH (plus gas).  In case you have connected to an account with insufficient ETH, you will see a warning as below:

<figure><img src="/files/Sg4vD6XuLOb9TMgshMHt" alt="" width="563"><figcaption></figcaption></figure>

3. Once Launchpad is able to connect with your chosen account, click **Continue**.

## Step 4:  Make the Deposit

On the "Summary" page:

1. Review the details and check all the boxes to confirm understanding. &#x20;
2. You can also check the deposit contract address to confirm you are depositing your ETH's to a correct address.  (**Note**: follow the procedure below to make the deposit.  **Do not** send your ETH's directly to the deposit contract address.  You will lose your funds.)
3. Click **Continue**

<figure><img src="/files/BCwqfHnQhwv6dOcFRbW2" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/VDF4FEiTYHtV8DBOIGdy" alt="" width="563"><figcaption></figcaption></figure>

On the "Transactions" page:

1. You must sign an individual transaction for each key created in the deposit data file.  You can initiate these all at once, or sign them individually from the key list below.

<figure><img src="/files/HWEvzzXiB43rEzi8n838" alt="" width="563"><figcaption></figcaption></figure>

2. Take a deep breath.
3. Click **Initiate The Transaction** to continue.
4. Confirm the transaction(s) in the Metamask wallet.  If you have connected a hardware wallet, you will also physically press the buttons on the wallet device to confirm each transaction.  Make sure you use a gas fee that is appropriate for the market condition.
5. You can check the transaction on **etherscan** (from Metamask, click "View on explorer").  Give it a little time for the transaction to confirm.

## Step 5:  Monitor the Progress

Congratulations on successfully making your ETH deposit!

However, please note that your validators are not yet ready for action.  There is a waiting period between your deposit and the activation of your validators on the Beacon Chain. &#x20;

Here are the stages:

* **Recognition by the Beacon Chain:** It can take 12 to 24 hours for your deposit to be recognized by the Beacon Chain.
* **Joining the activation queue:**  After recognition, you will join the activation queue.  The wait time in the queue can range from a few minutes to several days, depending on the number of validators in the queue.  You can check the queue length and waiting times at <https://www.validatorqueue.com/>

<figure><img src="/files/XAv45UxFxZDsZCmIf9L7" alt="" width="563"><figcaption></figcaption></figure>

Meanwhile, you can track your validator on the [**beaconcha.in**](https://beaconcha.in/) website.  You can click on the "Beaconchain" link from the key list on the Transactions page in the last step.

<figure><img src="/files/eQxRaStK9VJl45g4Zgua" alt="" width="563"><figcaption></figcaption></figure>

Alternatively, you can visit the [**beaconcha.in**](https://beaconcha.in/) web site and search for your validator using your validator "**pub key**".  Find your validator "pub key" in the deposit data file or the keystore file, copy it, and input into the search field on [**beaconcha.in**](https://beaconcha.in/) to find your Validator Page.

<figure><img src="/files/PLpuX5b6KhmBgbtJcgyi" alt="" width="563"><figcaption></figcaption></figure>

Key information on your Validator page:

* **A. Your Validator's Unique Index and Pub Key:** These are the identifiers of your validator on the Beacon Chain.
* **B. Status:** Initially, the status will show a flashing green **Deposited** state.  Once your deposit is recognized by the Beacon Chain, the **Deposit** state will turn solid green.  This will be followed by a flashing green **Pending** state while your validator waits in the activation queue.
* **C. Text information:** Initially, it will inform you that the deposit is waiting to be recognized by the Beacon Chain.  Once recognized, it will provide the expected time, and a countdown, for your validator to clear the activation queue.

Click on the **Deposits** tab (**D**, or you may see a "wallet" icon before clicking):

* **E. "Execution Layer":** After depositing, this section shows the deposit transaction and the time it was made.
* **F. "Consensus Layer":** In this example, the deposit has been recognized by the Beacon Chain.  This section displays the epoch, slot, and time when the deposit was recognized.
* **G. "Withdrawal Address":** In this example, the Withdrawal Address has been set.  The text shows a *withdrawal credentials* that start with `0x01`, confirming that the Withdrawal Address has been set.  Clicking on the link will take you to the actual Withdrawal Address.  If a Withdrawal Address has not been set, the withdrawal credentials will start with `0x00`.

Once your validator clears the activation queue, the **Active** status will turn solid green.  Your validator will be expected to perform its duties from that point onwards.  Make sure your ETH clients are fully synced, and keystore files loaded, before the activation queue countdown reaches zero. &#x20;

## Next Steps

Let's take a moment to revisit [The Solo Staker's Journey](/staking-ethereum/solo-staking-32-eth) diagram to understand what you have accomplished so far.

<figure><img src="/files/BkucHeDU5TSGE9MGAcaD" alt=""><figcaption></figcaption></figure>

In the key generation step, you have created the **deposit data** file.  You have now uploaded the file to the Staking Launchpad site along with a 32 ETH deposit per validator.

You have also obtained the **keystore** files(s).  Next, you will import the keystore file(s) to your Consensus Client so it is ready to participate in validation seamlessly the moment your validator is active on the Beacon Chain.

If you have also set the Withdrawal Address during the Key Generation process, you also have a destination for your Consensus Layer rewards, and your ETH stake when you finally exit.


# Import Validator Keys

Your validator keys are used for validating and attesting to the correctness of blocks in the Ethereum blockchain.  Validators also use the keys to propose and sign for new blocks, maintaining the integrity of the network.

You will need to import your validator keys into your Consensus Client.  Your validator keys are contained in the **keystore files** which you obtained from the key generation process.

The steps to import the validator keys are the same for all three Consensus Clients: Teku, Prysm, or Nimbus.

The following instructions are for Solo Stakers.  For Rocketpool and Stader stakers, the respective dapps will populate the validators for you.  Please see the corresponding sections for details.

## Before you Begin

1. Make sure your Execution and Consensus Clients are up and running.  You can import the validator keys even if the clients are still in the process of syncing.
2. Make sure you have your keystore files with you.  There will be one keystore file per each validator you intend to run.  Make sure also that you have the [password](/staking-ethereum/solo-staking-32-eth/generate-keys#password) to decrypt the keystore. &#x20;

## The Steps

On your AVADO, open your Consensus Client on the Home Page. &#x20;

On the **Main** page, click the **Add validator** field to expand it.

<figure><img src="/files/T8mQzIwMnOdnHuIKASal" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/LuUiWXo7qRLso343Vw7r" alt=""><figcaption></figcaption></figure>

Steps to add a validator:

1. Click **Choose keystore file…** and browse to the keystore file (`.json`) you obtained from the key generation process.
2. Enter your keystore password.
3. (Optional) If you have a slashing protection file, upload the file here.  For most users, this is not necessary.
4. Finally click **Add validator** to add the validator.

<details>

<summary>What is "slashing protection"?</summary>

Slashing protection prevents validators from signing blocks or attestations based on what it has already signed.  It is useful when switching Consensus Clients or machines.  Note that slashing protection does not provide protection if the same validator key is inadvertently being used by multiple nodes.

For most users, the easier option is to wait for a minimum of 5 finalized epochs before importing their keys into the target Consensus Client.  Given the current network conditions, this waiting period amounts to approximately 30 minutes.  To err on the side of caution and ensure absolute safety, we recommend waiting for 10 finalized epochs.  This precaution is necessary to prevent the risk of  slashing due to premature activation.

</details>

## The Validator Dashboard

Once you have added your validator(s) to the Consensus Client, they will appear on the **Main** page:

<figure><img src="/files/30GS5EA87Y7IfNzDnxIW" alt=""><figcaption></figcaption></figure>

Here's a breakdown of the displayed items, from left to right:

1. **Beaconchain icon:** Click this link to access your validator's page on **beaconcha.in** web site. It provides valuable information about your validator's status and serves as your primary resource for monitoring its performance.
2. **Index and Public Key:** These identifiers help you locate and access your validator's information on the **beaconcha.in** website.
3. **Balance:** This shows your validator's current balance, including the initial 32 ETH stake and any accrued *Consensus Layer* rewards.  Amounts over 32 ETH are periodically sent to your Withdrawal Address.
4. **Effective Balance:** This is the basis for calculating your *Consensus Layer* rewards and is capped at 32 ETH.  If your validator is penalized and the balance drops below 32 ETH, the Effective Balance will also decrease.  Your validator can continue to validate even if your balance drops slightly below 32 ETH, though your rewards will be proportionally reduced.  Your validator will be "kicked out" of the network if the Effective Balance drops below 16 ETH.
5. **Fee Recipient:** This is an Ethereum Address you can set to receive *Execution Layer* rewards.  It defaults to the Fee Recipient Address you provided during Consensus Client setup.  You can change this address for individual validators if needed.
6. **Withdrawals:** This indicates the status of your Withdrawal Address.  If set, withdrawals are `enabled`.  If not, it will show as `todo`.
7. **Status:** This displays the current status of your validator.  It will show as `pending_initialized` while the deposit is waiting to be recognized, `pending_queued` while waiting for activation, and `active_ongoing` once active.
8. **Trash Bin:** This removes the validator entry from the dashboard but does not delete it from the Beacon Chain.  It is useful for moving validators between Consensus Clients or machines.
9. **Exit Button:** Click this button when you decide to exit the validator.  For the detailed exit steps, see [Exit from a Solo Validator](/staking-ethereum/solo-staking-32-eth/exit-from-a-solo-validator).

These elements help you monitor and manage your validators efficiently within the Consensus Client interface.

## Next Steps

In the next section, we will provide a walkthrough of the **beaconcha.in** web site and mobile app.  These are important resources for your to track the activities of your validators.


# Monitor Your Node

## The beaconcha.in Web Site and Mobile App

As a node operator, it is crucial to monitor the health and performance of your validators.  This involves maintaining high uptime and ensuring the timely and accurate production of attestations and proposals.  Monitoring your node is essential to ensure continuous rewards and to avoid penalties for inactivity or inefficiency.

[**beaconcha.in**](https://beaconcha.in/) is an open source Ethereum Beacon Chain explorer that provides valuable information about the real-time activities of the Beacon Chain as a whole, as well as specific details about your validators.

One of the key features of **beaconcha.in** is the ability to set up push notifications. These notifications alert you to important validator events, such as missed attestations or assignment of proposal duties. By staying on top of these activities, you can maintain the active status of your validators and avoid any potential disruptions.

***

## Navigating to your Validator Page on beaconcha.in

You can navigator to your Validator Page by various means:

1. From the **Main** page of your Consensus Client on AVADO:
   * Click the link to "Beacon Chain Validator Dashboard" (the green banner **A** in the figure below).  This brings you to the Dashboard page on **beaconcha.in**, which shows a summary view and the total rewards across all of your validators.  You can then click the **Public Key** link of individual validators to enter their respective Validator page.
   * Click the the "beacon" icon, or the **Index** or **Public Key** links for individual validators (**B**, **C** and **D** in the figure).  They all bring you to your individual Validator page on **beaconcha.in**.

<figure><img src="/files/QmHGfWpP1Wv1ckKdktjx" alt=""><figcaption></figcaption></figure>

2. More directly, visit the [**beaconcha.in**](https://beaconcha.in/) web site:
   * On the top of the screen, locate the search field which says "Public Key / Block Number / Block Hash ...".  Enter your validator **Index**, or paste in your validator **pub key**.  Wait a second for a drop-down box to show, then select the matching "Validator" entry in the list.
   * Once your Validator Page shows, bookmark it on your browser so you can return to this page quickly.

<figure><img src="/files/E7xgo7Rnfyk8Xq6fDXtX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/oA8rDKspNnzcfK2yBjRW" alt=""><figcaption></figcaption></figure>

***

## Understanding your Validator Page

Your Validator Page on beaconcha.in provides a wealth of information about your validator.  Here is a quick walkthrough using an example validator (index 1234567):

<figure><img src="/files/K3aWibJIDOst3jyjGnan" alt=""><figcaption></figcaption></figure>

### **A.  Status**&#x20;

In normal operations, your validator's status shall stay as green **Active**.  This means you validator is producing attestations.  If you validator has missed attestations for *two or more* epochs, the **Active** icon will turn red.

### **B.  Validator Stats**&#x20;

* **Rank.** Your validator's standing among all validators, ranked by 7-day income.
* **Status.** Green **Active** is good, red is not good.&#x20;
* **Balance and Effective Balance.**  Balance is your current balance on the validator.  Amount above 32 ETH will be periodically "skimmed" to your Withdrawal Address.  Effective Balance is the basis to calculate the the rewards of your validator.  It is capped at 32 ETH but can be reduced if your balance falls below 32 ETH.
* **Effectiveness.**  The *Attestation Inclusion Effectiveness* by definition is a measure of how *timely* your validator's attestations are included in a block.  As a prerequisite, the attestations need to be *produced* in the first place, and are *correct,* in order to have a chance of being included, and ideally the attestations shall be included as early as possible, i.e. with a zero "inclusion distance".  The effectiveness should be 80% or higher (ideally 95% or above) to minimize reward penalties. &#x20;

{% hint style="info" %}
**Factors affecting Effectiveness**

The Effectiveness is a combined measure of your validator's **online presence**, **correctness**, and **timeliness**, averaged across a recent time period.

If your validators have been offline, the Effectiveness will drop.

If your validators are consistently attesting but demonstrating low Effectiveness, it is often due to larger than usual "inclusion distances".  This is an indication of poor peer connectivity.  To improve this situation, you may want to consider [Opening Network Ports on your Router](/quick-help/opening-network-ports).  This can help enhance the connectivity and communication between your validators and the network, potentially leading to improved attestation effectiveness.
{% endhint %}

### **C.  More validator stats**

* **Blocks.**  Number of blocks proposed, and as a percentage of blocks assigned.
* **Attestations.**  Number of attestations produced, and as a percentage of attestation slots assigned.&#x20;
* **Sync Committee.**  Number of participations in Sync Committees.  See [Rewards and Penalties](/staking-ethereum/solo-staking-32-eth/rewards-and-penalties) for more details.  This is a relatively rare event.
* **Slashing.**  The blocks produced by your validator may contain evidence that other validators have committed a slashable offense.  This number represents the count of validator slashings that have been included in the blocks produced by your validator.  This is an even rarer event.
* **Deposits.**  Number of deposits made to the deposit contract.  For Solo Stakers, most likely there was only one deposit of 32 ETH.  For Rocketpool and Stader stakers, the respective smart contracts may have made multiple deposits to make up the 32 ETH stake.
* **Withdrawals.**  Number of withdrawals processed for this validator, i.e. the number of times you have received payout to your Withdrawal Address.

### **D.  Tabs to show detailed information**

#### **Charts**

The **Income** chart shows the daily income.  Green bar is execution income (tips and MEV-Boost rewards when your validator propose a block).  Blue bar is consensus income (attestation fees, etc., that your validator receives every epoch).  Orange bar means penalties (negative income).  The **Proposals** chart shows the number of proposals made or missed on a timeline.

#### **Blocks**&#x20;

This shows a history of blocks proposed by your validator, with details on epoch, slot, time, and some other stats.

<figure><img src="/files/7adDYGF7TVdI9g8AsPzA" alt="" width="563"><figcaption></figcaption></figure>

#### **Attestations**&#x20;

This shows a history of attestations submitted by your validator.  Green **Attested** status is good, red **Missed** status is bad.  Also note the "Incl. Slot" and "Opt. Incl. Dist." columns.  The *Inclusion Slot* is the slot in which your attestation was included in a block.  Typically, this is the immediate slot after your attestation was produced; but occasionally, if other validators miss a block, your attestation could be included in a later slot.  It is ideal for the *Optimal Inclusion Distance* to consistently be zero, indicating that your attestations are included as early as possible.  Late inclusions can have a negative impact on your rewards and reduce your *Attestation Inclusion Effectiveness*.

<figure><img src="/files/qU682Chpw9EZOIGBC7UF" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Slots and Epochs in Ethereum**

A **Slot** is a time period of **12 seconds** in which a randomly chosen validator has time to propose a block. &#x20;

**1 Epoch = 32 Slots**, and takes approximately **6.4 minutes**.

Each of your validators has exactly **one** assignment to produce an attestation within the period of one epoch.   Your validators' performance, including their attestation effectiveness and rewards, is evaluated every epoch.
{% endhint %}

#### **Sync Committee**

This shows a history of Sync Committee participation.

{% hint style="info" %}
**Sync Committees**

A Sync Committee is **a group of 512 validators, randomly assigned by the Ethereum 2.0 network**.  A new committee is chosen every 256 epochs, roughly 27 hours.  This committee continually signs block headers for each new slot in the beacon chain. &#x20;
{% endhint %}

#### **Slasher**

This shows a history of Slashing events included in blocks produced by your validator.  Note that this refers to slashing of *other validators* (based on proofs included in the blocks your validator produced), not slashing of your own.

#### **Deposits**

If you have set a Withdrawal Address, the *withdrawal credentials* will begin with `0x01`.  Clicking on the link will bring you to your Withdrawal Address.  A value that starts with `0x00` means you have not set the Withdrawal Address.  The Execution Layer and Consensus Layer sections display when your deposit(s) were made and when they were recognized by the Beacon Chain.

<figure><img src="/files/gpiFxe8oLLzdGwfBOnq6" alt="" width="563"><figcaption></figcaption></figure>

#### **Withdrawals**

The history of all withdrawals, and the expected timing of the next withdrawal.  If you have set a Withdrawal Address, your Consensus Layer rewards accrued above 32 ETH will be periodically "skimmed" and sent to the Withdrawal Address.  This is known as **partial withdrawals**.  Eventually when you decide to exit the validator, the final balance including the 32 ETH stake and accrued rewards will also be sent to the Withdrawal Address.  This is known as **full withdrawal**. &#x20;

<figure><img src="/files/jObKMmrdNPLTohcQhmAx" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
The "Recipient Address" column on this tab really means the **Withdrawal Address** (not to be confused with the Fee Recipient Address).
{% endhint %}

### E.  General Rewards Data

* **Total Rewards.**  The total rewards earned by your validator since its activation.  If you hover over the number, it will also show you a breakdown of the Consensus Layer (CL) and Execution Layer (EL) rewards.

<figure><img src="/files/rVhDu2CGZm46UTOJ2Ok8" alt="" width="375"><figcaption></figcaption></figure>

* **Income Today / 1d / 7d / 31d.**  The rewards earned in the respective time periods.  Again a breakdown of CL and EL rewards is available by hovering over the numbers.
* **APR 7d / 31d / 365d.**  The annualized percentage return calculated for the respective time periods, with a breakdown into CL and EL components.
* **Luck.**  This is a measure of how "lucky" your validator is, compared to statistically how likely a validator should get a proposal (or a Sync Committee assignment).  Hovering over the number gives you a quick idea of statistically how likely (or how *infrequently!*) you would expect to get a block proposal or a Sync Committee assignment.

<figure><img src="/files/RGVUI22kj5JnhV9WJsER" alt="" width="375"><figcaption></figcaption></figure>

### F.  Validator History

* The Validator History panel shows the actual rewards (in GWei) earned by the validator for each attestation.

<figure><img src="/files/8Ip4cfmysleZXrMIqwue" alt="" width="375"><figcaption></figcaption></figure>

* You may observe that each attestation can earn a varying amount of rewards due to the following factors:
  * Firstly, the reward is influenced by the number of active validators in the network during a specific epoch.
  * Secondly, your validator's reward is determined based on the accuracy of its vote on the **Source**, **Target**, and **Head** blocks, according to its view of the blockchain.  By hovering over the number, you can see the breakdown of rewards for each vote, where positive values indicate correctness and negative values represent penalties for incorrect votes.  It may occur that your validator did not miss the attestation, but the votes are incorrect, resulting in an overall penalty.
  * Additionally, the reward is adjusted based on the timeliness of your validator's vote inclusion and the Effective Balance of your validator.

{% hint style="info" %}
An attestation consists of three votes, in simplified terms:

**Source:** what your validator thinks is the first block of the previous epoch;

**Target:** what your validator thinks is the first block of the current epoch;

**Head:** what your validator thinks is the head block of the blockchain.
{% endhint %}

***

## Subscribing to Notifications

To sign up for Notifications, you will need to create an account on beaconcha.in.  Click **Sign Up** on the top banner.  You will need to provide an email address (consider using a separate or disposable email address if you are concerned about privacy).

<figure><img src="/files/xMFnj8AGszORTHlOh2P6" alt=""><figcaption></figcaption></figure>

Click **Notifications** (and log in as required) to go to the Notifications Center.  You will be greeted with some statistics. &#x20;

<figure><img src="/files/hz1KFTRHnoWeHPioDAUv" alt=""><figcaption></figcaption></figure>

Click **Notification Channels** to select your preferred channels.  Download the **beaconchain** mobile app ([link](https://beaconcha.in/mobile)) to your phone to receive Push Notification.

<figure><img src="/files/gUzvvTotDXsWdfciW4EL" alt="" width="375"><figcaption></figcaption></figure>

Further down, there are two panels on Node and Network Monitoring.  For most AVADO users, these are *not* necessary.  Scroll to the bottom of the page for the **Validators** panel.

<figure><img src="/files/a0MjANyTLzqSR7Rq35p0" alt=""><figcaption></figcaption></figure>

This is where you can add your validator(s) to the watchlist.  Click **Add validator** and key in your validator indices, and choose the types of alerts you wish to subscribe to (or choose them all).

<figure><img src="/files/qCbEuFBIB6dyKTYkhzQF" alt="" width="375"><figcaption></figcaption></figure>

That's it!  From now on, you will receive timely alerts for missed attestations or when your validator successfully proposes a block, and so on.  This will help you stay informed and updated on the performance of your validator.

Here is an example of the push notifications received on a phone:

<figure><img src="/files/kOjfoIxrgoEXgbo7OvCT" alt="" width="375"><figcaption></figcaption></figure>

The push notifications help you manage your validators "by exception", meaning, you do not need to constantly watch your validators by connecting to your AVADO machine.  You only need to access the dashboard on the AVADO, or examine the Logs, when you have been notified of a potential problem.

***

## The Mobile App

Download the **beaconchain** mobile app ([link](https://beaconcha.in/mobile)) so you can easily check on your validators wherever you are, whenever you want!

<figure><img src="/files/bmrn9HgQnjgP24UUXENV" alt=""><figcaption></figcaption></figure>

The mobile app is synced with your beaconcha.in account on the web site, so you can always stay on top of your validators across devices.


# Rewards and Penalties

Being a validator in the Ethereum network comes with various responsibilities, rewards, and potential penalties.  In this guide, we break them down to help you better understand your staking performance on AVADO.

## Rewards

Your validators will receive **two** streams of rewards, on the Execution Layer and the Consensus Layer, respectively:

<table><thead><tr><th width="166"></th><th>Execution Layer</th><th>Consensus Layer</th></tr></thead><tbody><tr><td><strong>Purpose</strong></td><td>Maintain the global ledger of Ethereum transactions.</td><td>Maintain the integrity and security of Ethereum's Proof of Stake consensus network.</td></tr><tr><td><strong>Validator</strong> <strong>Duties</strong></td><td>Produce blocks</td><td><ul><li>Produce attestations</li><li>Propose blocks</li><li>Participate in sync committees</li><li>Report slashings</li></ul></td></tr><tr><td><strong>Frequency of Duties</strong></td><td>Random [1]</td><td><ul><li>Attestations: once every epoch</li><li>Proposer and sync committees: random [1] </li><li>Slashing: by chance</li></ul></td></tr><tr><td><strong>Components of Rewards</strong></td><td><ul><li>Tips (Priority Fees)</li><li>MEV-Boost rewards</li></ul></td><td><ul><li>Attester fee</li><li>Proposer fee</li><li>Sync committee fee</li><li>Slasher fee</li></ul></td></tr><tr><td><strong>Size of Rewards</strong></td><td>Highly variable [2], may potentially be boosted by MEV-Boost.</td><td>Relatively predictable based on network conditions and set formulae [3].</td></tr><tr><td><strong>Distribution of Rewards</strong> </td><td>Immediate upon block production</td><td>Accrue on validator balance, then periodically "skimmed" by a sweep mechanism.  </td></tr><tr><td><strong>Destination of Rewards</strong></td><td><em>Fee Recipient Address</em></td><td><em>Withdrawal Address</em></td></tr></tbody></table>

*Remarks:*

1. To get a sense of  the current *average* number of days it takes to be assigned one proposal, you can visit the [Lucky Staker](https://luckystaker.com/home/) website.  It's important to note that these numbers represent statistical averages and individual experiences may vary significantly.
2. To estimate the current *average* block rewards, see [Rated Network](https://explorer.rated.network/network?network=mainnet\&timeWindow=7d\&rewardsMetric=average\&geoDistType=all\&hostDistType=all\&soloProDist=stake) web site.
3. For an understanding of how the Consensus Layer rewards are calculated, see this [beaconcha.in Knowledge Base article](https://kb.beaconcha.in/ethereum-staking/rewards-and-penalties).

<details>

<summary>What is a Sync Committee Fee?</summary>

A Sync Committee is **a group of 512 validators, randomly assigned by the Ethereum 2.0 network**.  A new committee is chosen every 256 epochs, roughly 27 hours.  This committee continually signs block headers for each new slot in the beacon chain. &#x20;

If your validator is assigned to a Sync Committee duty, it will receive significantly higher rewards compared to normal attestation rewards.  This windfall of rewards lasts for a duration of 8,192 Slots, approximately 27 hours.

During this period, it is crucial to ensure that your validator node is up and running.  Missing or failing to fulfill Sync Committee duties can result in penalties that are as large as the the potential rewards.

Subscribe to [Notifications on beaconcha.in](/staking-ethereum/solo-staking-32-eth/monitor-your-node#subscribing-to-notifications) to get alerts for Sync Committee duties.  There is a 27-hour lead time before the duties start.  It is advised that node operators avoid any scheduled downtime until the end of the duties; otherwise the penalties could accumulate very quickly.

</details>

<details>

<summary>What is a Slasher Fee?</summary>

In the Ethereum Proof of Stake network, a "slasher" refers to a mechanism designed to penalize validators who engage in malicious or harmful behavior.  Slashing is a penalty imposed on validators who violate the network's rules or attempt to compromise its security. &#x20;

Found slashings are broadcasted to the network and the next **block proposer** adds the proof to the block.  The block proposer receives a reward for slashing the malicious validator. &#x20;

In reality, this is a very rare event.

</details>

### Where can I see the Execution and Consensus Rewards?

The **Charts** tab on beaconcha.in displays Execution and Consensus rewards in green and blue, respectively. &#x20;

<figure><img src="/files/wflDou2bOTYUFoYqPevb" alt="" width="563"><figcaption></figcaption></figure>

In this example, the validator received a proposal and earned both Execution (green) and Consensus (blue) incomes.  The Execution income represents the reward for block production, while the Consensus income is a combined fee for attestations and block proposals.  These rewards are notably larger than the typical daily income earned solely from attestations.

## Where do the Rewards Go?

Let's re-revisit [The Solo Staker's Journey](/staking-ethereum/solo-staking-32-eth) diagram for better context:

<div data-full-width="true"><figure><img src="/files/0WIqV81mxXPTOseCHSRM" alt=""><figcaption></figcaption></figure></div>

### Fee Recipient Address

**Execution Layer** rewards are directed to the **Fee Recipient Address**.

Recall that you can set a default Fee Recipient Address for all your validators, and you can change the Fee Recipient Address any time for individual validators if you wish.  See: [Set Default Fee Recipient Address](https://docs.ava.do/staking-ethereum/solo-staking-32-eth/pages/LyM0qmp2BxTZ6lIW5ipG#a.-set-default-fee-recipient-address). &#x20;

The Fee Recipient Address is only relevant when your validator is assigned to produce a block and receives **Tips** and/or **MEV-Boost rewards**.  Tips (also called Priority Fees) are payments made by Ethereum users to validators for including their transactions.  MEV-Boost rewards, on the other hand, are additional rewards obtained through strategic ordering or manipulation of transactions to maximize value.  To participate and earn MEV-Boost rewards, you can install and configure the [MEV-Boost dapp](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost).

### Withdrawal Address

**Consensus Layer** rewards go to the **Withdrawal Address**.

Recall that you have the option to set a Withdrawal Address in the following ways:

* Initially during the [**Key Generation**](/staking-ethereum/solo-staking-32-eth/generate-keys#ethereum-withdrawal-address) process.  If you used the Wagyu Key Gen software, you had the opportunity to set the Withdrawal Address and include it in the deposit data file when making the ETH deposit.
* At any later time using tools like [**AVADO's Withdrawal Address Tool**](/staking-ethereum/solo-staking-32-eth/set-withdrawal-address): You will need to use your 24-word secret recovery phrase for this purpose.

The Withdrawal Address can only be set once and cannot be changed.  You can verify the status of your Withdrawal Address by visiting your Validator Page on the beaconcha.in website and checking under the [**Deposits**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#deposits) tab.  Once a Withdrawal Address has been set, you should see *withdrawal credentials* that start with `0x01`.

If you have set up a Withdrawal Address, your Consensus Layer rewards (validator balance above 32 ETH) will be periodically transferred, or "skimmed", from the Beacon Chain to your Withdrawal Address.  These are known as **partial withdrawals**, and happen periodically on "validator sweep". &#x20;

### Validator Sweep

The process of scanning validators for withdrawals occurs sequentially, starting from the validator with index number 0 and progressing in one direction like a clock hand.  When the last validator is reached, the sweep process starts over again from the beginning.

During the sweep process, each validator's account is evaluated for potential partial or full withdrawals.  The time it takes for the sweep to reach a specific validator and process their withdrawal depends on the total number of validators on the network.

To check the current "sweep delay" and get an idea of the time it takes for withdrawals to occur, you can visit <https://www.validatorqueue.com/>.

<figure><img src="/files/Mjntiw0E92T7VisXPpTb" alt="" width="563"><figcaption></figcaption></figure>

### Withdrawal History

To access the full history of withdrawals processed for your validator and check the expected timing of the next withdrawal, you can navigate to the [**Withdrawals**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#withdrawals) tab on your Validator Page on beaconcha.in.

Alternatively, you can find the same information by searching for your Withdrawal Address on [**etherscan**](https://etherscan.io/).  Please note that withdrawals are not regular Ethereum transactions and will not appear under the **Transactions** tab.  Instead, you need to look under the **Beacon Chain** tab on etherscan to locate them.  Additionally, you will observe a corresponding increase in your ETH balance when withdrawals are processed.

<figure><img src="/files/D9X3Xdnni9omBRvrpNhg" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Withdrawals are **not** regular Ethereum transactions.  They do not show up under the **Transactions** tab on etherscan.  Instead, look under the **Beacon Chain** tab to find them. &#x20;
{% endhint %}

## How often do my Validators get a Proposal?

From [EthStaker Knowledge Base](https://docs.ethstaker.cc/ethstaker-knowledge-base/rewards/proposal-frequency):

> ### It's random <a href="#its-random" id="its-random"></a>
>
> How often a validator receives block proposals, and is selected to be part of a sync committee, is entirely random.  As long as you do not see missed proposals, there is absolutely nothing you can do to increase the frequency.
>
> True randomness can feel quite odd.  A validator not getting a proposal for 9 months is perfectly normal.  A validator getting two proposals in a week is entirely normal.  Over a large enough set, this evens out, but for a handful of validators, randomness can indeed feel unsettling.

> ### Is there really nothing I can do?!? <a href="#is-there-really-nothing-i-can-do" id="is-there-really-nothing-i-can-do"></a>
>
> No, it's random.  There is nothing you can do to increase your chances at proposals, short of running more validators.

## Penalties

Validators are penalized for small amounts of ETH if they are offline and fail to perform their assigned duties.  The penalties are comparable to the rewards for the same period of time.

<table><thead><tr><th width="265">Missed Duties</th><th>Panelties</th></tr></thead><tbody><tr><td><strong>Missed Attestations</strong></td><td><ul><li>The penalties for missing the <strong>target</strong> and <strong>source</strong> votes are equal to the rewards the attester would have received had they submitted them.  This means that instead of having the reward added to their balance, they have an equal value removed from their balance.  </li><li>No penalty for missing the <strong>head</strong> vote (i.e. head votes are only rewarded, never penalized).  </li><li>No penalty associated with the inclusion delay - the reward will simply not be added to the validator's balance. </li></ul></td></tr><tr><td><strong>Missed Proposals</strong></td><td><ul><li>No penalty for failing to propose a block.  You simply lose the rewards (on both Execution and Consensus Layers).</li></ul></td></tr><tr><td><strong>Missed Sync Committees</strong></td><td><ul><li>There is a penalty for each missed Sync Committee duty that is considerably larger than the penalty for a missed attestation.</li><li>Since Sync Committee duties are assigned for a block of 8,192 slots (256 epochs), in the unfortunate event that your validator is offline for the entire period (~27 hours), the total penalties can be substantial.</li></ul></td></tr></tbody></table>

{% hint style="info" %}
**Penalties are not the same as Slashing**

In any case, the **penalties** are small amounts of ETH that are approximately equal to the rewards the validator would have received if they had not missed their duties.  For example, the penalties for missed attestations amount to around 0.0016 ETH or about 5 USD per validator per day (April 2024).

**Penalties are not the same as slashing!**  Read on for more details.
{% endhint %}

## Slashing

Slashing is reserved for more serious offenses.  Validators can be slashed for actions such as double signing or other malicious behavior that compromises the security and integrity of the network.  Slashing results in a reduction of a portion of the offending validators existing stake, causing a gradual loss of ETH over time until the validator is forcefully ejected and marked as "slashed".  This is irreversible.

Realistically, the only condition that can cause a slashing is if you run your validator's keys on two nodes at the same time (such as running more than one Consensus Client on your AVADO, or running more than one AVADO, *and* loading the same keys into both).  Don't let this happen, and **you won't get slashed**. &#x20;

Missing attestation duties do not result in slashing.


# Set up MEV-Boost

Open source middleware run by validators to access a competitive block-building market.

## Quick Steps

Make sure you have set up your Execution and Consensus Clients. &#x20;

For a quick start:

1. Install MEV-Boost DApp
2. Enable MEV-Boost in the Consensus Client

This is all that is required to get MEV-Boost up and running.

Optionally, you can choose and configure your relays, and adjust the `-min-bid` value.

The following guide provides more details on each step.

## What is MEV-Boost?

MEV-Boost refers to the practice of extracting maximal value (MEV) from trading activities on blockchain networks.&#x20;

When creating a block, validators typically follow a simple algorithm of bundling pending transactions, prioritizing those with higher tips, and submitting the block to the chain.  However, some entities employ sophisticated algorithms to modify transaction ordering and introduce new transactions in some cases to extract additional ETH from a block proposal.

MEV-Boost offers an opportunity for solo home stakers to access this extra or "boosted" rewards when proposing a block.  To achieve this, the MEV-Boost DApp is used in conjunction with Execution and Consensus Clients.&#x20;

The use of MEV-Boost is optional but highly recommended.

MEV-Boost rewards are Execution Layer rewards and are sent to your Fee Recipient Address once received.

## Before your begin

Before proceeding, ensure that you have installed an Execution Client (Geth or Nethermind), and a Consensus Client (Teku, Prysm or Nimbus).

See [Setting up the ETH Clients](/staking-ethereum/setting-up-the-eth-clients) for instructions.

## Step 1:  Install MEV-Boost

Navigate to the DappStore and locate the DApp named **ETH Staking MEV-Boost** and click **Install**.

<figure><img src="/files/f21YkhhPPtZdxyb8oHBG" alt=""><figcaption></figcaption></figure>

## Step 2:  Enable MEV-Boost in your Consensus Client

Open your Consensus Client ([Teku](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth), [Prysm](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth), or [Nimbus](http://my.ava.do/#/Packages/nimbus.avado.dnp.dappnode.eth)).  Select the **Settings** tab.

Locate the checkbox to **Enable MEV-boost** (near the bottom of the page).  Check it, then click **Apply changes**.

<figure><img src="/files/wB7yMn9lBZt7gjbbWtS7" alt="" width="563"><figcaption></figcaption></figure>

To confirm that MEV-Boost is up and running, check the Logs of the Consensus Client.  The Logs will periodically report that an external builder is being used.

Prysm:

```
level=“info” msg=“Submitted builder validator registration settings for custom builders”
```

Nimbus:

```
Using external payload builder 
```

Teku:

```
INFO  - Validator   *** X out of X validator registration(s) were successfully sent to the builder network via the Beacon Node.
```

where X is the number of relays configured.

## Step 3:  (Optional) Choose your Relays

{% hint style="warning" %}
The default MEV-Boost relay setting includes a relay that was previously available but is now **deprecated**:

* Block Native (builder-relay-mainnet.blocknative.com)

To prevent excessive error messages in the Logs, you can remove this relay from your `RELAYS` setting or select alternative relays.  Please follow the instructions below to make this adjustment.

Note that while these error messages can be numerous, they are harmless and do not impact the functionality of MEV-Boost.&#x20;
{% endhint %}

{% hint style="warning" %}
Besides the Block Native relay, the following relay is also **deprecated**. &#x20;

* bloXroute Ethical

If you have this relay included in your `RELAYS` setting, it is recommended that you remove it or choose alternative relays.  This will help prevent any excessive error messages in the Logs.
{% endhint %}

When utilizing MEV-Boost, you are essentially entrusting the task of block production to marketplace aggregators known as **relays**.  You have the option to select one or multiple Relays to connect with.

When your validator is assigned to produce a block, all the configured relays will submit their bids.  These bids can be viewed as bundled blocks that are ready for your validator to sign, along with associated rewards for you.

As the block proposer, you have the privilege to choose the highest bid among the options received.  MEV-Boost streamlines the entire process of receiving the bids, proposing the winning block, signing it, and collecting the rewards associated with it.  This allows you to maximize your potential earnings.

There are multiple relays in the marketplace to choose from.  A definitive list can be found here:&#x20;

* [**MEV relay list for Mainnet**](https://github.com/eth-educators/ethstaker-guides/blob/main/MEV-relay-list.md)

On the Relay List, you can find details of each relay by different providers, such as Flashbots, Ultra Sound Money, bloXroute, and so on.

### How do I choose a Relay?

To gain an understanding of the current relay market share and median rewards, visit the **Relays** page on [Rated.Network](https://explorer.rated.network/relays?network=mainnet\&timeWindow=7d).

When selecting a relay, the primary consideration, aside from profit potential, is whether "compliance" aligns with your values.  Compliance refers to adhering to US sanction rules, which may involve censorship.  On the other hand, being non-compliant means not being restricted by US sanction rules and rejecting censorship.  Your choice should be based on your individual circumstances.  Please note that this information does not constitute legal advice.

{% hint style="info" %}
**Special Note for Rocketpool Users**

Rocketpool currently accepts only a smaller subset of relays.  See information here: <https://docs.rocketpool.net/guides/node/mev#block-builders-and-relays>
{% endhint %}

### How do I configure the Relays?

On the [**MEV relay list for Mainnet**](https://github.com/eth-educators/ethstaker-guides/blob/main/MEV-relay-list.md), scroll to the far right of the table to find the **Relay URL**'s.  These are long strings of letters and numbers and follow the pattern:&#x20;

```
https://0x...a-long-public-key...@relay-domain
```

You will set the `RELAYS` environment variable using these URL's. &#x20;

It is recommended to use a text editor for easier editing.  Copy the chosen Relay URL(s) to your text editor.  If you choose to use multiple relays, the format of the combined URL string shall be:&#x20;

```
relay1,relay2,relay3
```

and so on, where `relay1` etc. are the long URL strings you copied from the relay list.  **Ensure there are no spaces before and after the commas**.

Here is an example of the `RELAYS` string using 4 relays: aestus, bloXroute max-profit, ultrasound, and flashbots.  Scroll to the right to see the full string:&#x20;

```
https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live,https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com,https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money,https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net
```

Once you're ready, go to the [**Management Page**](http://my.ava.do/#/Packages/mevboost.avado.dnp.dappnode.eth/detail) of the MEV-Boost DApp.  Scroll down to the **Environment variables** panel.  *Replace* the value of `RELAYS` variable.  Hint: position your cursor within the "Value" box, press `ctrl`+`A` (`command ⌘`+`A` on Mac) to select the entire string in the box, and press `delete` to remove the existing string.  Then copy and paste in your new relay string.&#x20;

<figure><img src="/files/sgurVaTfDpbIpBw3F0yd" alt=""><figcaption></figcaption></figure>

Click **Update environment variables** to apply the change.

## Step 4:  (Optional) Set `-min-bid`&#x20;

The default setting for `EXTRA_OPTS` is `-min-bid 0.05`.  This means that if the relay bids offer less than 0.05 ETH in rewards, MEV-Boost will not choose those bids and will instead produce blocks locally.

The idea behind this approach is to outsource block production to builders for valuable blocks, while handling less valuable blocks ourselves.  This strikes a balance between profitability through outsourcing and decentralization through local production.

Vitalik says:

> A min bid of 0.05 would mean you produce nearly half the blocks yourself (very strong censorship resistance) but only sacrifice a tiny bit of profit.

For a more detailed analysis, see: <https://writings.flashbots.net/the-cost-of-resilience>&#x20;

You have the option to keep the default setting or experiment with different `-min-bid` values. However, for most users, the default setting is sufficient.

## Step 5:  Monitoring

### Confirming correct relay setup

To confirm that the relays have been successfully configured, check the MEV-Boost **Logs**.  A successful startup shall look like the following:

<figure><img src="/files/QC42O6NVNWL5oV8SOAZx" alt=""><figcaption></figcaption></figure>

In this example, we have configured 4 relays, and the Logs confirm that they have been successfully picked up. &#x20;

The periodic status messages with a `200` code are a good sign.  They indicate that the relays are functioning properly.

However, there was an error message that appeared in this example:

```
level=error msg="relay status error - request failed" error="Get \"https://aestus.live/eth/v1/builder/status\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)" 
```

This error indicates that one of the relays, in this case, "aestus.live", is not responding.  This is usually a temporary issue and is expected to resolve on its own. &#x20;

If you consistently encounter this error, it may indicate a problem with the relay; especially if you had included one or more of the "deprecated" relays in your `RELAYS` setting.  In such cases, you can consider removing them from your `RELAYS` setting.

### What happens if the relays are not working?

If none of your configured relays are functioning or if there is a configuration issue, your Consensus Client will simply fallback to using the locally generated block.  You won't miss the block proposal, although it is possible that you may miss out on a potentially higher reward.

In these situations, you might come across the following message in your Consensus Client. &#x20;

Teku:

```
WARN  - The builder is not available: java.util.concurrent.TimeoutException. Block production will fallback to the execution engine.
```

Prysm:

```
level=fatal msg="proposer settings is empty after unmarshalling from file specified by proposer-settings-file flag" 
```

### My validator has proposed a block!  How do I know which relay was used?

You can check on the beaconcha.in site.  Follow these steps:

1. Visit the beaconcha.in site.
2. Navigate to your Validator Page on beaconcha.in
3. Go to the [**Blocks**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#blocks) tab, where you will find information about your proposed blocks.
4. Look for the specific Epoch, Slot, and Time when your block was produced.
5. Click on the link for the **Slot** to access the Slot Page on beaconcha.in

<figure><img src="/files/i0rmHkC29bDxkibeHlUB" alt=""><figcaption></figcaption></figure>

On the Slot Page, you will find details about the block and its contributors.  If the block was contributed by a relay (or multiple relays), you will see this information displayed under the Slot number.  In this example, the block was supplied by the Ultra Sound relay.


# Set Withdrawal Address

## Recapitulation

The **Withdrawal Address**:

* Is an Ethereum address owned and controlled by you.
* Receives the regular **partial withdrawals** - "skimming" of rewards above 32 ETH from your validator.  If you have been receiving these partial withdrawals, your Withdrawal Address has been set and there is nothing left to do.
* Receives the final **full withdrawals** - when you exit your validator.

You have the option to set the Withdrawal Address in the following ways:

* Initially during the [**Key Generation**](/staking-ethereum/solo-staking-32-eth/generate-keys) process.  If you used the Wagyu Key Gen software, you had the opportunity to set the Withdrawal Address and include it in the deposit data file when making the ETH deposit.
* At any later time using tools like **AVADO's Withdrawal Address Tool**: We will discuss the use of this tool in this section.

The Withdrawal Address can only be set once and cannot be changed.  You can verify the status of your Withdrawal Address by visiting your Validator Page on the beaconcha.in website and checking under the [**Deposits**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#deposits) tab.  Once a Withdrawal Address has been set, you should see *withdrawal credentials* that start with `0x01`.

## AVADO's Withdrawal Address Tool

### Step 1:  Install

Navigate to the DappStore and locate the DApp named **ETH Withdrawal address tool** and click **Install**.

<figure><img src="/files/CZzqi93aIGLn8eFKe6dq" alt=""><figcaption></figcaption></figure>

Click **Open** from the Home Page to start the DApp.

### Step 2:  Check your keys

If you have validators that need their withdrawal address set, they will show up in a table.

<figure><img src="/files/6IYqp6lWoR2PvNv8Mi2j" alt="" width="563"><figcaption></figcaption></figure>

If all your validators are configured, you have nothing left to do.

<figure><img src="/files/boHlT0pqQL2JvXSUcTv3" alt="" width="563"><figcaption></figcaption></figure>

At the bottom of the page, the wizard lists all your validators.  You can click them to see more info on your validator on the beaconcha.in website.

### Step 3:  Enter your Mnemonic

If you have validators that need to have their Withdrawal Address set, click **Set withdrawal address**.

Enter your 24-word secret recovery phrase, which you obtained from the [Key Generation](/staking-ethereum/solo-staking-32-eth/generate-keys#step-2-create-your-secret-recovery-phrase) process.  The tool will automatically check if it corresponds with your validator.

{% hint style="danger" %}
**Is it safe to enter your mnemonic here?**&#x20;

You always have to be careful when entering a mnemonic!  The mnemonic serves as a complete access key to your validator, so it must be handled with utmost care.&#x20;

AVADO uses a secure connection (Wi-Fi or Zerotier) between your browser and your AVADO device.  However, make sure that no one is looking over your shoulders.  We also recommend disabling browser extensions or using your browser's **incognito mode** to minimize potential risks.
{% endhint %}

### Step 4:  Select the Withdrawal Address

The best way to select your withdrawal address is to connect your wallet.  AVADO recommends to use a hardware wallet, but any Ethereum wallet works.

**Please think carefully which address you use!**  You can only set this address once.  You cannot change it later.  If you lose the private key of this address, your validator’s deposit and rewards are lost forever.

{% hint style="danger" %}
**Warning: Do NOT use an exchange address!**

Using an exchange address as your Withdrawal Address for staking is extremely risky.  Most exchanges are not equipped to handle Ethereum staking rewards and withdrawals.  As a result, you will likely face significant challenges or even be unable to retrieve your deposit and rewards.
{% endhint %}

<figure><img src="/files/MfHJTCc7XbxI8aQO1WVU" alt=""><figcaption></figcaption></figure>

You can also toggle the **manual input** button to enter a manual address.  This field supports ENS names, but please make sure you make no typos!  Check and double check the address.

<figure><img src="/files/P4PDbLtk93jOAzbaTKxo" alt=""><figcaption></figcaption></figure>

### Step 5:  Confirm

Review the information and review the information again.

If you are 100% sure, click the **confirm** button.

If you have multiple validators, repeat the process for each of your validators.

You can verify the status of your Withdrawal Address by visiting your Validator Page on the beaconcha.in website and checking under the [**Deposits**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#deposits) tab.  Once a Withdrawal Address has been set, you should see your *withdrawal credentials* that start with `0x01`.  If you click on the link, it will bring you to your Withdrawal Address.


# Exit from a Solo Validator

Exiting from a solo validator means removing your validator from active duties and unstaking the 32 ETH from the beacon chain.  You will stop earning any consensus or execution rewards.  Your 32 ETH stake will be returned to your **Withdrawal Address**.

## Before you Begin

1. Ensure that your node is fully synced before initiating the exit process.
2. Set a Withdrawal Address.  If you have been regularly receiving rewards above 32 ETH from the validator, your Withdrawal Address is already set.  If not, follow this [guide](/staking-ethereum/solo-staking-32-eth/set-withdrawal-address) to set your Withdrawal Address.  Complete this step before proceeding.

## Step 1: Initiate the Validator Exit

Regardless of the Consensus Client you use ([Teku](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth), [Prysm](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth), or [Nimbus](http://my.ava.do/#/Packages/nimbus.avado.dnp.dappnode.eth)), the process remains the same.  In the Consensus Client DApp, locate the "exit" icon on the far right of the line.

<figure><img src="/files/CY8TS90qZTV4LGgcQuoO" alt=""><figcaption></figcaption></figure>

Click this button to initiate the exit and confirm the action as follows. &#x20;

<figure><img src="/files/FbhU2V7XU9JVylMPyNn5" alt="" width="563"><figcaption></figcaption></figure>

Once initiated, you don't need to do anything further. Sit back and wait for the following steps to happen automatically.

## Step 2: Wait for the Validator to Exit

After initiating the validator exit, the following events will occur:

* The Consensus Client will broadcast a message to the beacon chain to signal your intention to exit.
* A few minutes later, beaconcha.in will display a flashing green "exited" state.  The display message will indicate the expected exit and withdrawal epochs.  The "exit epoch" is when your validator can stop performing duties, and the "withdrawal epoch" is when the balance becomes "withdrawable".
* The exit epoch is at least 4 epochs later, plus the period you need to wait in the exit queue. The length of the exit queue can be checked at <https://www.validatorqueue.com/>.
* On the validator dashboard, the status will change from `active_ongoing` to `active_exiting`.

<figure><img src="/files/mlVBvLCYZnCE4INIjzJb" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/qNXKyKhDTKwKgqrImNj3" alt=""><figcaption></figcaption></figure>

Once your validator reaches the "exit epoch":

* beaconcha.in shows a solid green "exited" state.
* On the validator dashboard, the status becomes: `exited_unslashed`.

<figure><img src="/files/3M4zYBM24629yixerIrJ" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/KYirZxSDSRWig4UTdEXL" alt=""><figcaption></figcaption></figure>

## Step 3: Wait for the Withdrawal

After reaching the "exit epoch," it will take another 27 hours approximately for the validator to become "withdrawable".  Ethereum has these built-in delays in place to prevent malicious actors from exploiting the system.

When your validator reaches the "withdrawal epoch":

* beaconcha.in will display the expected time of withdrawal and the actual withdrawal amount under the **Withdrawals** tab.  This should include your 32 ETH stake and any accrued consensus rewards.
* On the Consensus Client dashboard, the validator status becomes: `withdrawal_possible`.

Now, you need to wait for the validator sweep, which refers to the time interval between your successive consensus rewards.  You can check the Sweep Delay on <https://www.validatorqueue.com/>.

<figure><img src="/files/Mjntiw0E92T7VisXPpTb" alt="" width="563"><figcaption></figcaption></figure>

To determine the exact time your stake and rewards are going to be swept to your Withdrawal Address, look up your Validator Page on beaconcha.in, and check under the [**Withdrawals**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#withdrawals) tab.

## Step 4: Receive Your 32 ETH Stake

Finally, you will see your 32 ETH stake, along with any accrued consensus rewards, at your Withdrawal Address.  On the Consensus Client dashboard, the validator status becomes: `withdrawal_done`.

You can check the address with etherscan to make sure all is well.

{% hint style="info" %}
Once your validator is exited:

1. You can safely remove the validator from the Consensus Client, by clicking the Trash icon.
2. Exiting is a non-reversible process.  You cannot re-use the keystore and deposit data files.  You cannot re-use the validator index.  If you wish to make a new deposit, generate a new set of keystore and deposit data file, and make a new deposit.
   {% endhint %}

## Further Reading

For a deeper understanding of how exiting and withdrawals work on Ethereum, you can refer to the article [Mechanics of Withdrawals: How They Work](https://launchpad.ethereum.org/en/withdrawals#mechanics-of-withdrawals) on the Ethereum Staking Launchpad website.


# Rocketpool (8 or 16 ETH)

## Overview of Rocketpool Staking on AVADO

Rocketpool is a set of smart contracts that enables you to deposit 8 or 16 ETH to create a new validator.  Rocketpool couples this with 24 or 16 ETH from the staking pool, where liquid stakers deposited in exchange for rETH, to create a **minipool**.  The minipool is then used to fund a new validator on the Beacon Chain.

To the Beacon chain, a validator created by a minipool functions just like a regular validator.  It carries the same responsibilities, follows the same rules, and receives the same rewards.  The only difference lies in how the minipool is funded and created, how rewards are harvested, and the process of withdrawals when the node operator decides to exit the minipool.

The following schematic diagram depicts how Rocketpool fits into your staking setup on the AVADO:

<div data-full-width="true"><figure><img src="/files/Rd2EvZGwGyNf03RoRwl2" alt=""><figcaption><p>The Rocketpool Staker's Journey</p></figcaption></figure></div>

You may observe that the processes for Rocketpool staking on AVADO are quite similar to those of Solo Stakers.  The main distinction lies in the interactions with Rocketpool smart contracts.  These smart contracts are responsible for facilitating the movement of funds within the Rocketpool ecosystem.

Here is a quick comparison between Solo Staking and Rocketpool Staking:

<table><thead><tr><th width="202"></th><th>Solo Staking</th><th>Rocketpool Staking</th></tr></thead><tbody><tr><td><strong>Deposit Requirement</strong></td><td>32 ETH</td><td>8 or 16 ETH, the balance of 24 or 16 ETH is "borrowed" from rETH stakers.</td></tr><tr><td><strong>RPL Stake</strong></td><td>None</td><td>You need to stake an amount of RPL tokens as supplemental collateral, equal to at least 10% of the "borrowed" amount.</td></tr><tr><td><strong>ETH Clients</strong></td><td>Set up Execution and Consensus Clients</td><td>The same</td></tr><tr><td><strong>Key Generation</strong></td><td>Use Wagyu Key Gen software</td><td>Rocketpool handles this</td></tr><tr><td><strong>Deposit to Beacon Chain</strong></td><td>Use Ethereum Staking Launchpad Site</td><td>Rocketpool handles this</td></tr><tr><td><strong>Import Keys to Validators</strong></td><td>Load keystore.json files into Consensus Client</td><td>AVADO Rocketpool DApp automates this</td></tr><tr><td><strong>Execution Layer Rewards</strong></td><td>Tips and MEV-Boost</td><td>The same (split between your node and rETH stakers)</td></tr><tr><td><strong>Consensus Layer  Rewards</strong></td><td>Attestation and Proposer Fees, etc.</td><td>The same (split between your node and rETH stakers)</td></tr><tr><td><strong>Smoothing Pool</strong></td><td>None</td><td>A mechanism to pool the Execution Layer rewards of all participants, and even out the payment.</td></tr><tr><td><strong>Commission</strong></td><td>None</td><td>You receive a 14% commission from rETH stakers for your service of running a node.</td></tr><tr><td><strong>RPL Rewards</strong></td><td>None</td><td>You receive a yield on the staked RPL.</td></tr><tr><td><strong>Claiming Rewards</strong></td><td>No need to claim</td><td>Smoothing Pool rewards (incl. commission) and RPL rewards become claimable every 28 days. <br><br>Consensus Layer rewards accrued on your minipool are auto-distributed when a threshold is met.</td></tr><tr><td><strong>Exit</strong></td><td>Initiate exit from your Consensus client.  Payout goes to your Withdrawal Address.</td><td>Initiate exit from AVADO Rocketpool DApp.  Payout first goes to your minipool Address, and becomes withdrawable when you close the minipool.</td></tr></tbody></table>

Compared to Solo Staking, you can expect slightly higher rewards from Rocketpool Staking due to additional sources of income, namely, commission from rETH stakers, and yield on the staked RPL.  Additionally, the Smoothing Pool feature enables you to receive a regular payout from the Execution Layer, even in a "dry spell" during which your validators are not getting any proposal assignment.

To get a sense of the potential return, try the reward calculator on the Rocketpool official site: <https://rocketpool.net/node-staking/what-can-i-earn>

On the other hand, it is also important to be aware of the potential risks associated with using a smart contract platform like Rocketpool.  Besides, you will also be exposed to RPL token prices.

## 8 ETH vs 16 ETH Minipools

When creating a minipool, you have the option to stake either 8 or 16 ETH as your bond.  This bond represents your stake as a validator.  If your node performs poorly or violates protocol rules, any penalties will be deducted from your bond.

The remaining funds in the minipool are contributed by rETH stakers.  They will pay you a 14% commission on their portion of the fund.

To ensure the performance of your validator, you must also provide supplemental collateral in the form of RPL tokens.  The amount of RPL you need to stake depends on the size of your bond.  The minimum requirement is 10% of the amount of ETH *borrowed*.  The maximum stake is 100% of the amount of ETH you *bonded*.

* If you choose to stake **16 ETH**, you will stake 16 of your own ETH and borrow 16 ETH from the staking pool to complete the validator.  The minimum RPL stake in this case would be **1.6 ETH worth of RPL** (10% of 16).
* If you choose to stake **8 ETH**, you will stake 8 of your own ETH and "borrow" 24 ETH from the staking pool to complete the validator.  The minimum RPL stake would then be **2.4 ETH worth of RPL** (10% of 24).

Since the price of RPL relative to ETH fluctuates, the exact quantity of RPL tokens required is subject to market prices of RPL and ETH.  Always stake slightly more as a buffer.

Choosing an 8 ETH pool requires less capital in ETH, but it necessitates a higher amount of RPL tokens as collateral.  In return, you earn more RPL rewards due to yield on a larger amount of staked RPL, and a higher amount of commission based on the larger borrowed fund.

## The Smoothing Pool

A unique feature of Rocketpool staking is the **Smoothing Pool**.  The Smoothing Pool is a mechanism to collect and accumulate the Execution Layer rewards of all participants, and even out the payment fairly to both the rETH stakers and the node operators.  In essence, it becomes the *Fee Recipient* for every node operator that opts into it.&#x20;

The Smoothing Pool serves to effectively eliminate the randomness associated with being selected for block proposals.  If you've ever had a streak of bad luck and gone months without a proposal, or if your block proposals only have low priority fees, you may find the Smoothing Pool quite exciting.

By default, Rocketpool Stakers on the AVADO are prescribed to join the Smoothing Pool.

## The Steps

The following are the steps for setting up Rocketpool staking on AVADO:

* **Set up the ETH Clients, and MEV-Boost.**  Similar to solo staking, you will need to set up your Execution and Consensus Clients, and MEV-Boost.  Refer to the following sections on how to do these:
  * [Setting up the ETH Clients](/staking-ethereum/setting-up-the-eth-clients)
  * [Setting up MEV-Boost](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost)
* [**Install the Rocketpool DApp**](/staking-ethereum/rocketpool-8-or-16-eth/setting-up-a-rocketpool-node)**.**  Install the Rocketpool DApp on your AVADO.  This provides a user interface for AVADO users to interact with the Rocketpool smart contracts.
* [**Set up a Rocketpool Node**](/staking-ethereum/rocketpool-8-or-16-eth/setting-up-a-rocketpool-node)**.**  Your AVADO will host one single Rocketpool node.  The steps to set up the Rocketpool node include:
  * Initialize a Hot Wallet (also called the Node Wallet)
  * Fund the Hot Wallet
  * Register the Rocketpool node
  * Set a Rocketpool Withdrawal Address
  * Join the Smoothing Pool
* [**Add Minipool(s)**](/staking-ethereum/rocketpool-8-or-16-eth/add-minipool)**.**  Once you have set up a Rocketpool node, you can add one or more minipools to start staking.  You can run a mix of 8 ETH and 16 ETH minipools.  You can also run a mix or Rocketpool minipools and regular solo validators.
* [**Backup your Minipool**](/staking-ethereum/rocketpool-8-or-16-eth/backup-and-restore)**.**  Download the Rocketpool Backup File for safe-keeping.  This file contains all the necessary information to recreate your Rocketpool node and minipools, when needed.
* [**Monitor Your Node**](/staking-ethereum/rocketpool-8-or-16-eth/monitor-your-rocketpool-validators).  Stay informed about your minipools' performance and status.  Utilize the **beaconcha.in** website and mobile app for real-time updates.  Also check out **rocketscan.io** for additional insights across the Rocketpool network.
* [**Claim Rewards**](/staking-ethereum/rocketpool-8-or-16-eth/rocketpool-rewards)**.**  Learn about the different income streams and how to receive or claim your rewards.
* [**Exit from Rocketpool Minipools**](/staking-ethereum/rocketpool-8-or-16-eth/exit-your-minipools).  If you decide to exit Rocketpool staking, the guide will provide you with the necessary steps and information.

Let's get started!


# Setting up a Rocketpool Node

DAppThis tutorial will walk you through the initial setup of the Rocketpool Node.  This process only needs to be done once.  Once your node is set up, you can proceed to add one or more minipools to the node.

## Before you begin

* **Set up your ETH Clients.**  In order to proceed with Rocketpool onboarding, you need to have a fully synced Ethereum node.  This includes an Execution Client and a Consensus Client (Beacon Chain and Validator).  Please refer to [Setting up the ETH Clients](/staking-ethereum/setting-up-the-eth-clients) for detailed instructions. &#x20;
* **Set up MEV-Boost.**  MEV-Boost offers the potential for higher block reward and is beneficial to both the node operator and rETH stakers.  It is highly recommended to set up MEV-Boost.  See [Setting up MEV-Boost](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost) for detailed instructions.
* **Use a browser with a connected wallet.**  For best experience, it is recommended to use a desktop or laptop computer with **Metamask** installed as a browser-extension wallet.  If you have a hardware wallet such as Trezor or Ledger, connect your hardware wallet to Metamask.  You can find instructions on how to do this [here](https://support.metamask.io/hc/en-us/articles/4408552261275-Hardware-Wallet-Hub).  Please be assured that connecting your hardware wallet through Metamask is a safe operation, because your private keys remain secured only in your hardware wallet and you are not relying on Metamask to manage your keys. &#x20;
* **Make sure you have sufficient funds** in your wallet:
  * 8 or 16 ETH for each minipool you plan to stake.
  * Some ETH for gas fees.  Experience shows that 0.4 ETH is a good start.
  * A minimum of RPL tokens that is worth 2.4 ETH (for 8 ETH minipools) or 1.6 ETH (for 16 ETH pools).  Since the price of RPL relative to ETH fluctuates, you will need to do some calculations.  The AVADO Rocketpool UI will provide some hints.  It is advisable to prepare a slightly larger amount of RPL tokens as a buffer.

## Install AVADO Rocketpool DApp

Navigate to the DappStore and locate the DApp named **Rocketpool Staking** and click **Install**.

<figure><img src="/files/4kZus7PG7YWxVD7jsJU0" alt=""><figcaption></figcaption></figure>

## Tell Rocketpool which ETH Clients you're using

Once installed, click **Manage Package** to go to the DApp's [**Management Page**](http://my.ava.do/#/Packages/rocketpool.avado.dnp.dappnode.eth/detail), then scroll down to the **Environment variables** panel.

<figure><img src="/files/W9OMtifqFzVpkw7rdTPJ" alt=""><figcaption></figcaption></figure>

Set the values of these variables to match with your installed Clients:

* `EXECUTIONCLIENT` : `geth` or `nethermind`
* `CONSENSUSCLIENT` : `teku` , `prysm` , or `nimbus`

Use **small letters** or it will not work!

If you changed any of the settings, click **Update environment variables**

## Onboarding Wizard

AVADO Rocketpool DApp provides an onboarding wizard to guide you through the setup process.  To access the wizard, click [**Open**](http://my.ava.do/#/Packages/rocketpool.avado.dnp.dappnode.eth) on the Home Page to open the Rocketpool Staking DApp.  You will be greeted with the Welcome screen.

<figure><img src="/files/lU3NvG6K8sj43Z4DDo0A" alt=""><figcaption></figcaption></figure>

The wizard will verify if you have installed the ETH Clients (Execution Client and Consensus Client) and if they are fully synced.  You can also confirm your sync status in the upper-right corner.

The wizard will remind you about the required amount of ETH and RPL funds.  The reference minimum RPL stake mentioned is for a 16 ETH pool.  If you plan to stake an 8 ETH pool, you will need more RPL.  You can manually perform some calculations to determine the appropriate amount of RPL tokens.

If all the necessary requirements are met, click **Start setup** to begin the onboarding wizard.

{% hint style="info" %}
**Access the menu bar on phone or tablet**

If you are viewing the AVADO Rocketpool DApp on the desktop, you can see the menu bar with these items: **Welcome**, **Setup**, **Status**, **Rewards**, and on the far right-hand side, **Admin**.

If you are using a phone or tablet, or a browser with a narrow window, the menu may be "hidden".  Look for a button that has three horizontal lines on the right-hand side of the screen.  Click to expand it.  The expanded sub-menu will be on the left-hand side of the screen (you may need to scroll across to see it).
{% endhint %}

<figure><img src="/files/W0DWJL5D4Hl3SkXUe0eF" alt="" width="188"><figcaption></figcaption></figure>

<figure><img src="/files/czPuzcTM5rMX3NG8Cr5K" alt="" width="188"><figcaption></figcaption></figure>

## Step 1:  Initialize the Hot Wallet

The Hot Wallet (also called the Node Wallet) is an Ethereum address that will hold your node's funds temporarily.  It will use this to send ETH to your minipool when you begin staking, and pay for gas during various transactions.

Rocketpool will create this wallet for you.  The Hot Wallet address will be your **Node Address**.

Enter a secure password (at least 12 characters).  Then click **Init Wallet**.

<figure><img src="/files/4xOoSMHILrOyXhRRh1Dj" alt=""><figcaption></figcaption></figure>

In the next screen, you will be shown your Hot Wallet address.  Take note of this address.

You will also be prompted to download a backup of your wallet.  This step is crucial as the Backup File contains all the information necessary to recreate your node if needed, including the 24-word secret recovery phrase and the wallet password which you have just entered.&#x20;

<figure><img src="/files/R3qi36oL7Hpol9Y44ure" alt=""><figcaption></figcaption></figure>

Depending on your browser, the `rocket-pool-backup.zip` file will usually be downloaded to your designated "Download" folder on your computer.  If your browser, such as Chrome, displays a warning and blocks the file as an "insecure download," click on "Keep" to allow the download.

{% hint style="warning" %}
**Keep the Backup File Safe!**

It is of utmost importance to keep the Backup File safe and secure!  Losing this file could result in losing access to your node and validators.&#x20;

Remember, anyone who possesses this Backup File can gain control of your wallet.  Therefore, handle the backup with utmost care to prevent theft or unauthorized access.
{% endhint %}

Click **continue to next step** when you are ready.

## Step 2:  Fund the Node

{% hint style="info" %}
**Consider the Gas Fee**

The upcoming steps are on-chain transactions.   It is advisable to wait for a quiet period on the Ethereum network when gas fees are lower.  This will significantly reduce the total gas cost associated with on-chain transactions during these steps.

To determine the current gas price, you can check the information provided in the top-right corner of the screen.  Alternatively, you can visit websites like [Ethereum Gas Tracker](https://etherscan.io/gastracker) on etherscan.io which provide real-time updates on gas prices.
{% endhint %}

On the next screen, you will receive instructions to send the required amounts of ETH and RPL to the Hot Wallet that you have just created.  The specific amounts to send depend on whether you are setting up an 8 ETH or 16 ETH minipool.

* For an 8 ETH minipool, you need to send 8.4 ETH to the Hot Wallet.
* For a 16 ETH minipool, you need to send 16.4 ETH to the Hot Wallet.

These amounts include a recommended 0.4 ETH for gas fees. &#x20;

In addition to the ETH amount, you are also required to send at least a minimum amount of RPL tokens.  The exact value of RPL tokens needed is equivalent to 2.4 ETH worth of RPL for an 8 ETH minipool, and 1.6 ETH worth of RPL for a 16 ETH minipool.  The amount of RPL tokens is subject to the current relative prices of RPL and ETH. &#x20;

* <https://coinmarketcap.com/currencies/ethereum/>
* <https://coinmarketcap.com/currencies/rocket-pool/>

RPL tokens are required as collateral and to earn rewards for running minipools.  The more RPL you stake, the higher your potential earnings.  Please note that all RPL sent to this wallet will be used as your stake later, so make sure to send the exact desired amount.

To ensure a smooth process, it is recommended to prepare a slightly larger amount of RPL tokens as a buffer.

<figure><img src="/files/wnPFxdxA0le8bvOYX1wb" alt=""><figcaption></figcaption></figure>

Hit **Refresh balances** to update the balance of crypto sent to your address.

The wizard will advance to the next step once the necessary funds have arrived in your wallet.

## Step 3:  Register the Rocketpool Node

To register your node on Rocketpool, click **Register Node** and wait for the transaction to finish.&#x20;

Click **Transaction details on Etherscan** to see the transaction on etherscan.io

## Step 4:  Set a Rocketpool Withdrawal Address

Next, you need to set a Withdrawal Address for your Rocketpool node.   This Ethereum address will be used for receiving all RPL and Smoothing Pool rewards, as well as the ETH and RPL stake during your final withdrawal.  Ensure that you have control over this address, preferably using a secure wallet address such as a hardware wallet.  **Do not use an exchange address.**

Ensure that you securely store the secret recovery phrase associated with this address to prevent any loss of access to your funds.

<figure><img src="/files/YWOvwEnx9Vljm0g4iG79" alt=""><figcaption></figcaption></figure>

Take the time to verify that you have entered the correct Withdrawal Address.  Once you are confident, click **Set withdrawal address** and wait for the on-chain transaction to complete.

## Step 5:  Join Smoothing Pool

The Smoothing Pool is a unique feature of Rocketpool staking.  It is a mechanism to collect and accumulate the block rewards of all participants, and smooth out the payment fairly and regularly.  The Smoothing Pool serves to effectively eliminate the randomness associated with being selected for block proposals.&#x20;

Click **Join** to join the Smoothing Pool, and wait for the on-chain transaction to finish.

<figure><img src="/files/z0auxbtq3HPKi7dbhV0k" alt=""><figcaption></figcaption></figure>

Note: Minipools that were created before the “Redstone release” (Aug 2022) need an extra step to initialize the Fee Distributor before they can add additional minipools.  The wizard will automatically skip this step for most users.

## Next Step

Congratulations!  You have now set up and initialized your Rocketpool node.  The next step is to add one or more minipools and start staking.


# Add Minipool

Once you have set up your Rocketpool node, you can proceed to add one or more minipools to the node.  The steps to add your first minipool and to add your subsequent minipools are very similar.  This tutorial will walk you through the process.

## Quick Steps

1. If you have just created the node, the wizard will bring you to the **Add Minipool** page to add the first minipool.  If you are adding a subsequent minipool, go to the **Setup** tab in the AVADO Rocketpool app.
2. Add Minipool:
   * Approve RPL (if not already done)
   * Stake RPL
   * Deposit ETH
3. Wait for 2 deposits (1 + 31 ETH) from Rocketpool to fund validator and for the Beacon Chain to recognize the deposits (1.5 to 2 days).  Wait for the validator to clear the activation queue (a few minutes to several days).  Monitor the progress on Rocketpool DApp, rocketscan.io, and beaconchain.io
4. Add the validator to the Consensus Client.  Follow the prompts on AVADO Rocketpool DApp to do this.
5. Set the Fee Recipient Address of the validator to the Smoothing Pool Address.

The following guide provides more details on each step.

## Before your proceed

* **Have you set up your Rocketpool node?**  Make sure you have followed through the steps in [Setting up a Rocketpool Node](/staking-ethereum/rocketpool-8-or-16-eth/setting-up-a-rocketpool-node).  You should have initialized the Hot Wallet, registered the node, set the Withdrawal Address, and joined the Smoothing Pool.
* **Make sure you have sufficient funds** in your wallet:
  * 8 or 16 ETH for each minipool you plan to stake.
  * Some ETH for gas fees.  Experience shows that 0.4 ETH is a good start.
  * A minimum of RPL tokens that is worth 2.4 ETH (for 8 ETH minipools) or 1.6 ETH (for 16 ETH pools).  Since the price of RPL relative to ETH fluctuates, you will need to do some calculations.  The AVADO Rocketpool UI will provide some hints.  It is advisable to prepare a slightly larger amount of RPL tokens as a buffer.
* **Is your node fully synced?**  Ensure that your Execution and Consensus Clients are fully synced.  You can check their sync status on the upper-right corner of the AVADO Rocketpool DApp.

<figure><img src="/files/9NNVSgnSMmGKwCBWrIBk" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Consider the Gas Fee**

The upcoming steps are on-chain transactions.   It is advisable to wait for a quiet period on the Ethereum network when gas fees are lower.  This will significantly reduce the total gas cost associated with on-chain transactions during these steps.

To determine the current gas price, you can check the information provided in the top-right corner of the screen.  Alternatively, you can visit websites like [Ethereum Gas Tracker](https://etherscan.io/gastracker) on etherscan.io which provide real-time updates on gas prices.
{% endhint %}

***

## Step 1.  Navigate to the Add Minipool Page

If you are adding your *first* minipool and you have followed through the steps in [Setting up a Rocketpool Node](/staking-ethereum/rocketpool-8-or-16-eth/setting-up-a-rocketpool-node), after the last step to **Join Smoothing Pool**, the wizard will automatically bring you to the **Add Minipool** page.

If you are adding your *subsequent* minipools, you can always navigate to the **Add Minipool** page via the **Setup** tab on the menu bar.  Then you can choose to **Stake more RPL**, or **Add another 8 ETH** or **16 ETH minipool**.

<figure><img src="/files/0Bc9JoG5osTWIyzCnW1L" alt=""><figcaption><p>The Setup Page</p></figcaption></figure>

The **Add Minipool** page looks like the following.  The following example assumes adding an 8 ETH minipool.

<figure><img src="/files/Oh6VUchCTnpgXvOmykmA" alt=""><figcaption><p>The Add Minipool Page</p></figcaption></figure>

## Step 2.  Add Minipool

There are 3 steps to add the minipool.

### Approve RPL

Click **Approve** to allow the staking contract to spend the RPL in your Hot Wallet, and confirm the action.  Wait for the transaction to complete on-chain.

Once the approval is successful, you will see a green **Approved** check mark.  Note that you only need to approve once.  If you are adding a subsequent minipool, you can skip this step.

<figure><img src="/files/XFuEoz91GcE0ZNhWAPbN" alt="" width="375"><figcaption></figcaption></figure>

### Stake RPL

Click **Stake RPL** and confirm the action to proceed.  This will send all of the RPL in your Hot Wallet to the staking contract. &#x20;

Wait for the transaction to finish.  You can check the on-chain status by clicking **Transaction details on Etherscan**.

### Deposit 8 ETH and create Minipool

Click **Deposit 8 ETH and create minipool** and confirm the action to make the deposit. &#x20;

Wait for the transaction to finish.  You can check the on-chain status by clicking **Transaction details on Etherscan**.

***

## Step 3.  Wait and Monitor

Once you have added the minipool, a series of actions will happen in the background.  The following paragraphs describe the tools you can use to monitor the progress, and the status updates you shall expect to see.

### Check your Node and Minipool Status on AVADO Rocketpool DApp

Navigate to the **Status** tab on the AVADO Rocketpool DApp.  Here you can find some useful data and links.

<div data-full-width="false"><figure><img src="/files/bRJbkIzZOHFWyXPkQAnv" alt=""><figcaption><p>The Status Page - Node Status</p></figcaption></figure></div>

The **Node status** section provides important information:

1. **Hot Wallet Address:** This is your Ethereum address for the Hot Wallet, also referred to as the **Node Address** or the **Account Address**.  It serves as your identification as a Rocketpool node operator.  All of your minipools will be associated with this node address.  In our example, the node address starts with `0x8a20`.  Clicking on this address will redirect you to your node address on **etherscan.io**.  Alternatively, click on the "rocket" icon to visit [**rocketscan.io**](https://rocketscan.io/) (Rocketpool Explorer) for more details about your node.
2. **Withdrawal Address:** This Ethereum address is where all your rewards, as well as your ETH and RPL stake during the final withdrawal, will be sent.  In our example, the Withdrawal Address starts with `0xe4fa`.

Additionally, the Node status section confirms your RPL Stake and indicates your status of joining the Smoothing Pool.

Scrolling further down, you will find information on your minipool(s).  Here is an example of an 8 ETH minipool in the **Prelaunch** stage, pending activation.

<figure><img src="/files/eByhrGs3QY8b4AK9ljF1" alt=""><figcaption><p>The Status Page - Minipool</p></figcaption></figure>

The **Minipool** section provide important details:

**Minipool address**&#x20;

This is the Ethereum address of the minipool.  In the previous step to **Add minipool**, this account was created and was funded with your ETH stake (8 ETH in this example), and the matching stake from the staking pool (24 ETH in this example).  Rocketpool then deposited the ETH's to the Beacon Chain on your behalf, creating a new **validator.** &#x20;

The minipool address also serves as the Withdrawal Address for the validator.   This means that all Consensus Layer rewards and the eventual withdrawal of the ETH stake will be sent to this minipool address initially, and distributed according to the Rocketpool protocol.  This ensures that all Consensus Layer rewards are shared fairly between node operators and rETH stakers, taking into account the commission.

In our example, the minipool address starts with `0xAbc0`.  You can click on the address to view your minipool address on **etherscan.io**.  Alternatively, click on the "rocket" icon to see your minipool on **rocketscan.io** for additional information.

#### Validator pubkey

This is the validator created by depositing the 32 ETH from the minipool to the Beacon Chain.  You can click on this link to see the validator on **beaconcha.in** for additional information.  In our example, the pubkey starts with `0xb953`.

Once the deposit is recognized by the Beacon Chain, you can proceed to add the validator pubkey to your Consensus Client.  The Rocketpool DApp will prompt you to do this.

### See your Node and Minipool on rocketscan.io

&#x20;You can access your Node and Minipool information on [**rocketscan.io**](https://rocketscan.io/), which is the Rocketpool Explorer.  It provides comprehensive data about individual nodes, minipools, and other statistics within the Rocketpool ecosystem.

On the **Status** page of the AVADO Rocketpool DApp, click the "rocket" icon besides the Hot Wallet address to see your Node page on rocketscan.io:

<figure><img src="/files/btqBvjgPxteH2mAzj5Wt" alt=""><figcaption><p>Node Page on rocketscan.io</p></figcaption></figure>

In this example, at the top of the page it shows the Node Operator address `0x8A20` which corresponds to our Hot Wallet address or Node Address.  The Node Operator panel also displays our Withdrawal Address `0xe4fA`, and RPL Stake.  These tally with the information in AVADO Rocketpool DApp.

At the bottom of the page, we can see that the node is currently associated with one minipool, and the minipool address is `0xAbc0`, which we already know.

The **Timeline** panel presents a chronological sequence of event leading up to the current state.  In this example, we registered our node, set the withdrawal address, joined the smoothing pool, staked RPL, deposited 8 ETH, and created the minipool.&#x20;

You can click the minipool address, or alternatively click the "rocket" icon next to the minipool address on the Rocketpool DApp's Status page, to access the Minipool page on rocketscan.io:

<figure><img src="/files/7ywNlYI81EcIA7YLrYjk" alt=""><figcaption><p>Minipool Page on rocketscan.io</p></figcaption></figure>

Here the **Timeline** reveals additional information.  After depositing 8 ETH to create the minipool, Rocketpool initially sent 1 ETH to the minipool and "prestaked" this it to the Beacon Chain.  A validator was created with a pub key starting with `0xb953`.

Then our validator was "enqueued" to wait for sufficient available ETH (in this case, an additional 24 ETH from the staking pool) to complete the funding process.  In this example, we were "dequeued" immediately because the required ETH was readily available.  However, in reality, there may be a delay at this stage if there is insufficient amount of ETH deposited by rETH stakers.  You can monitor the **Deposit Pool** by selecting the corresponding menu item on the top of the rocketscan.io page.

In a separate operation, Rocketpool assigned and sent the remaining 31 ETH to our minipool, fully funding it.  Consequently, the status changed from **Prelaunch** to **Staking**.  We are now ready to proceed to the Beacon Chain to track the movement of the deposit.&#x20;

These steps occur automatically in the background, and generally, you do not need to be concerned about them.  However, comprehending the details of these steps will enhance your confidence in the progress, and enable you to identify any potential issues.

Remember to bookmark these pages for convenient access to your node and minipool information in the future.

### Follow your Validator on beaconcha.in

From AVADO Rocketpool DApp's Status page, or from the Minipool page on rocketscan.io, click on the pub key link or the "beacon" icon next to it, to visit your Validator Page on beaconcha.in web site.

<figure><img src="/files/8EA72qmVQtnC5YicU5uW" alt=""><figcaption><p>Validator Page on beaconcha.in</p></figcaption></figure>

On the top of the page, you can find the unique Index of your validator and its pub key (**A**).  The status line (**B**) initially displays a flashing green **Deposited** state, while the following sequence of events takes place:

* Rocketpool pre-stakes 1 ETH to the Beacon Chain.  You can view this under the **Deposit** tab in the Execution Layer panel (**C**).  You will need to scroll to the right-hand side of the table to see the deposit amount.
* It may take 12 to 24 hours for the deposit to be recognized by the Beacon Chain, as indicated in the text information (**B**).
* In this example, the initial 1 ETH has been recognized by the Beacon Chain, as shown in the Consensus Layer panel (**D**).
* Meanwhile, Rocketpool makes the remaining deposit of 31 ETH after a specific delay (approximately 12 hours after the initial 1 ETH deposit).  This second deposit will also take 12 to 24 hours for the Beacon Chain to recognize.
* Once the second deposit is recognized, the validator becomes fully funded and enters the queue for activation.&#x20;

Overall, you should expect a waiting period of approximately 1.5 to 2 days for both deposits to be recognized by the Beacon Chain and for your validator to progress to the next stage.

### Wait for your Validator to go Live

Once the entire 32 ETH deposit is recognized by the Beacon Chain, the **Deposit** state will turn solid green.  Following that, it will transition to a flashing green **Pending** state while your validator waits in the activation queue.

<figure><img src="/files/yiTD87t5dyflw2qDulYv" alt="" width="563"><figcaption></figcaption></figure>

The wait time in the queue can vary, ranging from a few minutes to several days, depending on the number of validators in the queue.  You can check the length of the queue and estimated waiting times at <https://www.validatorqueue.com/>

<figure><img src="/files/XAv45UxFxZDsZCmIf9L7" alt="" width="563"><figcaption></figcaption></figure>

During this stage, the text information will provide the expected time, and a countdown, for your validator to clear the activation queue.

Once your validator clears the activation queue, the **Active** status will turn solid green.  At this point, your validator will be expected to fulfill its duties.  Make sure your ETH clients are fully synced, and your validators loaded, *before* the activation queue countdown reaches zero. &#x20;

The next section walks you through how to load the validators into your Consensus Client.

***

## Step 4.  Import your Validator to the Consensus Client

If you have created one or more minipools but have not yet imported the associated validators into your Consensus Client, you will see an error banner at the top of the Rocketpool wizard:

<figure><img src="/files/4BKw7TPaneOz0PeXYhab" alt=""><figcaption></figcaption></figure>

Click the **Add validators to prysm** button (or **to teku** as the case may be) to automatically add the validators to your Consensus Client.

Open your Consensus Client to see the validators added.  While you are there, make sure **MEV-Boost** is enabled on the **Settings** page.

***

## Step 5.  Set Fee Recipient Address

Your minipool is configured to use the Smoothing Pool.  Its **Fee Recipient Address** must be set to the Smoothing Pool address.  This ensures that all Execution Layer Rewards, including tips and MEV-Boost rewards, are sent to the socialized pool for fair distribution between node operators and rETH stakers.

The Smoothing Pool address is [`0xd4E96eF8eee8678dBFf4d535E033Ed1a4F7605b7`](https://etherscan.io/address/0xd4E96eF8eee8678dBFf4d535E033Ed1a4F7605b7)

If you have followed Step 4 above to import your validators to the Consensus Client, this address will be automatically configured for you.  However, if you have made changes to this address, an error banner will appear on top of the Rocketpool wizard:

<figure><img src="/files/1dmyi3AghQM3ZXbwi27A" alt=""><figcaption></figcaption></figure>

Click the **Correct the fee recipient address** button to correct the Fee Recipient Address.

Alternatively, you can manually edit the Fee Recipient Address in the Consensus Client.  If you are using a mix of solo staking validators and Rocketpool validators, you can set the Fee Recipient Address individually for each validator in the validator list.

{% hint style="warning" %}
Your minipool will be penalized by the Rocketpool protocol if you proposed a block with an incorrect Fee Recipient Address that is *not* the Smoothing Pool address.
{% endhint %}

***

## Next Steps

Congratulations!  You have now set up one or more minipools and configured their associated validators in your Consensus Client.&#x20;

Once your validators are activated on the Beacon Chain, they shall start to perform their duties.

At this point, remember to make a **backup** of your Rocketpool node and validators for safe-keeping.  This is crucial for confidently restoring your node and minipools in case this is needed.  See next section for details.


# Backup and Restore

## Backup your Node and Minipools

Every time you have added new minipools to your Rocketpool node, remember to download a copy of the Backup File.  The Backup File contains all the information necessary to recreate your node and validators if needed. &#x20;

Click the **Setup** tab in [AVADO Rocketpool DApp](http://my.ava.do/#/Packages/rocketpool.avado.dnp.dappnode.eth).  Then click **Download Rocket Pool Data Backup** to download the `rocket-pool-backup.zip` file to your computer. &#x20;

<figure><img src="/files/zezabjWtaV2KIcp2H4hc" alt=""><figcaption></figcaption></figure>

Depending on your browser, the `rocket-pool-backup.zip` file will usually be downloaded to your designated "Download" folder on your computer.  If your browser, such as Chrome, displays a warning and blocks the file as an "insecure download," click on "Keep" to allow the download.

Once downloaded, you can open the file to view its contents.  You will find a `data` folder, which contains the following:

* The **mnemonic** of the node, i.e. the secret recovery phrase to recreate the node wallet and all the validators.
* The **password** of the Hot Wallet that you provided during the initial setup.  This password is used to encrypt the wallet.
* The **keystore** files, along with their corresponding **passwords**, in specific formats for different consensus clients.  The "keys" folder contains the keystore `.json` files, identified by their pub keys.  The "passwords" folder contains the corresponding `.txt` files that hold the keystore passwords.  In this example, there is one validator with a pub key that starts with `0xb953`:

<figure><img src="/files/VGCmzeN0czvKSHQrtUH0" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Download the Backup File every time you make changes**

It's important to note that you should download the Backup File again whenever you make changes to your node or add new minipools.  This is because the contents of the Backup File will be updated with the new or additional information.  Having an up-to-date Backup File is crucial for confidently restoring your node and minipools.
{% endhint %}

{% hint style="warning" %}
**Keep the Backup File Safe!**

It is of utmost importance to keep the Backup File safe and secure!  Losing this file could result in losing access to your node and validators.&#x20;

Remember, anyone who possesses this Backup File can gain control of your wallet.  Therefore, handle the backup with utmost care to prevent theft or unauthorized access.
{% endhint %}

For advanced users, instead of asking the Rocketpool DApp to automatically populate the validators into the Consensus Client, one can manually add the validators using the keystore files and their corresponding passwords.  The keystore files and passwords under the "teku" folder are suitable to use for this purpose irrespective of your Consensus Client.

## Restore your Node and Minipools

You may need to restore your Rocketpool node, and its minipools and validators, when migrating from one machine or disk to another (for example when upgrading your device).  You may also need to do this if there is a problem with the AVADO Rocketpool DApp that necessitates a **Reset** of the DApp.  A Reset will wipe all the data including the node and minipool information, so you will need to restore this information from the Backup File.

Follow these steps to restore your node and all its minipools and validators:

1. Go to the **Admin** page of [AVADO Rocketpool DApp](http://my.ava.do/#/Packages/rocketpool.avado.dnp.dappnode.eth).  You can find the link to the Admin page on the far right-hand side of the menu bar.  If you are using a phone or tablet, or a browser with a narrow window, the menu may be "hidden".  Look for a button that has three horizontal lines on the right-hand side of the screen.  Click to expand it.  The expanded sub-menu will be on the left-hand side of the screen (you may need to scroll across to see it).

<figure><img src="/files/tRKC7sgv1GIyuZzn7j7U" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/W0DWJL5D4Hl3SkXUe0eF" alt="" width="188"><figcaption></figcaption></figure>

<figure><img src="/files/czPuzcTM5rMX3NG8Cr5K" alt="" width="188"><figcaption></figcaption></figure>

2. On the Admin Page, locate the **Backup and Restore** panel.  Click the **Restore** tab (it may be a bit obscure) to reveal the option for restoring a backup. &#x20;
3. Click **Choose File** to upload the correct `rocket-pool-backup.zip` file from your computer.

<figure><img src="/files/UPzKr0Cx5q144aPZdgI5" alt=""><figcaption></figcaption></figure>

4. After uploading the Backup File, a button appears for you to **Restart Node**.  Click this to restart the Rocketpool DApp.&#x20;
5. Follow the prompts to restore the node and the minipools.  Rocketpool DApp will guide you to add your validators to your Consensus Client, similar to the step described [here](https://docs.ava.do/staking-ethereum/rocketpool-8-or-16-eth/pages/fIl1uel5F1NcElrTOXAj#step-4.-import-your-validator-to-the-consensus-client).  In addition, the Rocketpool DApp will prompt you to correct the Fee Recipient addresses of the validators to the Smoothing Pool address, similar to the step mentioned [here](https://docs.ava.do/staking-ethereum/rocketpool-8-or-16-eth/pages/fIl1uel5F1NcElrTOXAj#step-5.-set-fee-recipient-address).

Once you have completed these steps, your entire node, hot wallet, minipool, and validators should be successfully restored on your AVADO device.


# Monitor Your Rocketpool Validators

To the Beacon Chain, a Rocketpool validator is the same as a solo validator in every aspect. &#x20;

To monitor and track the performance of your Rocketpool validators, you can use [**beaconcha.in**](https://beaconcha.in/) and its mobile app:

* Refer to the [**Monitor Your Node**](/staking-ethereum/solo-staking-32-eth/monitor-your-node) section for detailed instructions on how to monitor your validators on beaconcha.in.&#x20;
* Set up push notifications on the beaconchain mobile app.  This will ensure that you receive timely alerts for missed attestations, proposal assignments, and other important events related to your validators.

When monitoring your Rocketpool validators on beaconcha.in, keep the following in mind:

* On the [**Deposits**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#deposits) tab, the Execution Layer panel will show that the deposit came from your **minipool address** (the "From Address").  Similarly, withdrawals will also go to your minipool address (click the "Withdrawal Credentials" link).  This confirms that your minipool is the *owner* of the validator.
* On the [**Withdrawals**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#withdrawals) tab, you will see that partial withdrawals (periodic "skimming" of rewards above 32 ETH) are sent to your **minipool address** as the "recipient address".
* There is a **Rocketpool** tab with a "rocket" icon that provides additional information related to your minipool and Rocketpool node.

In addition to beaconcha.in, you can also track your Rocketpool node and minipools on the [**rocketscan.io**](https://rocketscan.io/) site.  You can access these pages through the **Rocketpool** tab on beaconcha.in or from the **Status** page of your AVADO Rocketpool.  Consider bookmarking these pages for convenient access.


# Rocketpool Rewards

## Sources of Rewards

To the Beacon Chain, a Rocketpool validator is the same as a solo validator in every aspect. &#x20;

Your Rocketpool validators will receive the same rewards and penalties as Solo validators on both the Execution and Consensus Layers.   The only difference lies in the *destination* of the rewards:

<table><thead><tr><th width="189"></th><th>Solo Validators</th><th>Rocketpool Validators</th></tr></thead><tbody><tr><td><strong>Execution Rewards</strong></td><td><ul><li>Sent to the <em>Fee Recipient Address</em></li><li>Immediately available upon block production</li></ul></td><td><ul><li>Sent to the <em>Smoothing Pool Address</em></li><li><em>Smoothed</em> rewards available for claiming at checkpoints every 28 days</li></ul></td></tr><tr><td><strong>Consensus Rewards</strong></td><td><ul><li>Accrue on the validator</li><li>Balance above 32 ETH is periodically "skimmed" to the <em>Withdrawal Address</em></li></ul></td><td><ul><li>Accrue on the validator</li><li>Balance above 32 ETH is periodically "skimmed"to the <em>Minipool Address</em></li></ul></td></tr></tbody></table>

To understand the nature of these rewards and how to track them, please refer to the [**Validator Rewards and Penalties**](/staking-ethereum/solo-staking-32-eth/rewards-and-penalties) page for Solo Stakers.  Just keep in mind that there will be different arrangements for Fee Recipient Address and Withdrawal Address compared to Solo Stakers.

In addition to the Execution and Consensus Rewards, Rocketpool Stakers also receive **RPL Rewards** based on the amount of RPL tokens they have staked.&#x20;

## Flow of Rewards

Let's revisit the [Rockerpool Staker's Journey](/staking-ethereum/rocketpool-8-or-16-eth) to provide some context:

<div data-full-width="true"><figure><img src="/files/LB8Y7KFYYLO75GHq7zhK" alt=""><figcaption></figcaption></figure></div>

### Consensus Rewards

From the perspective of the Beacon Chain, the Consensus Rewards are "skimmed" to the Beacon Chain withdrawal address during each Validator Sweep.  For Rocketpool validators, the withdrawal address is defined to be the **Minipool Address**.

The rewards accumulate in the Minipool Address until the balance reaches 1 ETH.  At that point, the rewards are automatically distributed between you (the node operator) and the rETH stakers, taking into account the commission rate.  Your portion of the rewards will be sent to your **Rocketpool Withdrawal Address**, which you set up when initializing the node.  You can check this Rocketpool Withdrawal Address on the **Status** page of the AVADO Rocketpool DApp.

To estimate the amount of Consensus Rewards you will receive:

1. Look up your Minipool Address on etherscan.io.
2. Note the ETH balance, as this is the amount that will be distributed between you and rETH stakers once it reaches 1 ETH.

For an **8 ETH** minipool, you "own" 25% of the minipool, while rETH stakers "own" the other 75%.  With a commission rate of **14%**, your expected share of the minipool balance is (25% + 75% x 14%) = **35.5%**.

For a **16 ETH** minipool, you "own" 50% of the minipool, while rETH stakers "own" the other 50%.  With a commission rate of **15%**, your expected share of the minipool balance is (50% + 50% x 15%) = **57.5%**.

Once the minipool balance reaches 1 ETH, your share of the rewards will be automatically distributed to your Rocketpool Withdrawal Address.

### Execution Rewards

Execution Rewards are typically sent to the *fee recipient address* when a block is produced.  For Rocketpool validators, the fee recipient address is defined to be the **Smoothing Pool Address**.

This means that all block rewards, including tips and MEV-Boost rewards, are automatically sent to the Smoothing Pool.  These rewards accumulate in the pool and are later split between rETH stakers and participating node operators at the end of a **28-day** checkpoint cycle.

To get a view of how the Smoothing Pool is performing, you can visit the [**Smoothing Pool**](https://rocketscan.io/smoothingpool) page on rocketscan.io.

<figure><img src="/files/r38TNADiHu6YKk9JSvYn" alt=""><figcaption></figcaption></figure>

When distributing the rewards between rETH stakers and node operators, Rocketpool considers various factors such as the commission rate, the node operator's attestation performance, and the length of opt-in.

At the end of each checkpoint cycle, the rewards for that period become *claimable*.  You can claim these rewards on the **Rewards** page of the AVADO Rocketpool DApp.  However, it's not necessary to claim the rewards every cycle.  You can let the rewards accumulate and claim them at a later cycle if desired.

To find out the date of the next checkpoint, you can check the beaconchain phone app and look for the **Next RPL Round** under the **Rocketpool** section.&#x20;

<figure><img src="/files/7RBbAW66iv3wGa0Z10Sn" alt="" width="375"><figcaption><p>beaconchain phone app</p></figcaption></figure>

### RPL Rewards

In addition to the Execution and Consensus Rewards, Rocketpool Stakers also receive RPL Rewards based on the amount of RPL tokens they have staked.  In the above example, the RPL Annual Percentage Rate (APR) was 8.55% at that time.

The RPL Rewards for each checkpoint period become claimable alongside the Execution Rewards.  Similar to the Execution Rewards, it's not necessary to claim the RPL rewards every cycle.  You have the option to let them accumulate and claim them at a later cycle if desired.  Additionally, you can choose to **restake** the RPL rewards, which will increase your staked RPL balance.

It's important to note that in order to qualify for RPL Rewards, your RPL stake must be above the required minimum, which is equivalent to 10% of the borrowed funds.  For example, if you have an 8 ETH minipool, you are effectively borrowing 24 ETH from the protocol.  Therefore, you will need to have at least (24 ETH x 10%) = 2.4 ETH worth of RPL at the time of the checkpoint in order to receive any RPL Rewards.  Make sure to meet this minimum requirement to be eligible for RPL Rewards. &#x20;

Because the relative price of RPL to ETH fluctuates, you may need to "top up" your RPL stake by staking more RPL before the checkpoint to ensure you remain eligible for RPL Rewards.

From Rocketpool documentation:

> If you are below 10% during the checkpoint, you will not be eligible for any rewards for that interval. **Even if you increase above 10% at a later date, you will not have any rewards to claim for that interval**.  Therefore it is crucial that you maintain at least 10% collateral at the time when each RPL reward checkpoint is reached.

## Summary of Rocketpool Rewards

To summarize, Rocketpool Stakers receive three streams of rewards:

1. **Consensus Rewards:** These rewards accumulate on the Minipool Address and can be distributed once the balance reaches 1 ETH.
2. **Execution Rewards:** These rewards accumulate on the Smoothing Pool and become claimable on a 28-day checkpoint cycle.
3. **RPL Rewards:** These rewards are based on your RPL stake and become claimable alongside the Execution Rewards.  However, to be eligible for RPL Rewards, your RPL stake must be above the minimum requirement of 10%.  You can also choose to restake the RPL rewards.

All of these rewards, once distributed, will be sent to your Rocketpool Withdrawal Address.

## Claiming the Rewards

You can claim the Execution and RPL Rewards on the **Rewards** tab of the [AVADO Rocketpool DApp](http://my.ava.do/#/Packages/rocketpool.avado.dnp.dappnode.eth).

<figure><img src="/files/8Y54foIaFYuXKQMv5kTf" alt=""><figcaption></figcaption></figure>

Some explanations are in order.  On this page:

* **A: Ethereum rewards**&#x20;
  * First line: *"You have earned x.xxxx ETH from the Beacon Chain (including your commissions) so far"*.  This refers to **Consensus Rewards** accrued on the validator balance, which **have not yet been skimmed** to the minipool address.  It should equal 35.5% (for 8 ETH pools) or 57.5% (for 16 ETH pools) of your current validator balance above 32 ETH.
  * There is also a component of Consensus Rewards that **has been skimmed** to the minipool address, but has not yet been distributed because the balance has not reached 1 ETH.  Unfortunately this portion of the rewards is not shown on the Rewards page.  You can check the balance of your Minipool Address, where you have a 35.5% share (for 8 ETH pools) or 57.5% (for 16 ETH pools) of that balance.
  * Second line: *"You have claimed x.xxxx ETH from the Smoothing Pool"*.  This refers to the cumulative **Execution Rewards** that you have already claimed from the Smoothing Pool at the end of previous checkpoint cycles.
  * Third line: *"You still have x.xxxx ETH in unclaimed Smoothing Pool rewards"*.  This refers to the amount of Smoothing Pool rewards that are claimable but have not been claimed.  You can let the rewards accumulate and claim them at a later cycle if desired.
* **B: RPL rewards**
  * First line: *"The current rewards cycle started on \[date/time]"*.  This refers to the current checkpoint cycle, which will end 28 days after this date.
  * Second line: *"You currently have x.xxxx unclaimed RPL from staking rewards"*.  This refers to the amount of RPL Rewards that are claimable, but have not been claimed.  You do not need to claim them immediately.  You can let the rewards accumulate and claim them at a later cycle if desired.  You also have the option to restake the RPL.
  * Third and fourth line: *"Your estimated RPL staking rewards for this cycle: x.xxxx RPL"* and so on.  This is an estimate based on your RPL stake and the prevailing RPL APR. &#x20;
  * Fifth line: "You node has received x.xxxx RPL staking rewards in total".  This refers to the cumulative RPL Rewards that you have already claimed from previous checkpoint cycles.
* **C: Claim**
  * These are the actual ETH (from the Smoothing Pool) and RPL tokens that are claimable at this time.
* **D: Claim options**
  * **Claim all rewards:** Claim the ETH and RPL rewards and send them to your Rocketpool Withdrawal Address.
  * **Claim and restake RPL rewards:** Claim the ETH rewards and send them to your Rocketpool Withdrawal Address.  Claim the RPL rewards and restake them to increase your RPL stake balance.

As mentioned, there is another rewards component that is not visible on the Rewards page.  These are the Consensus Rewards which **have been skimmed** to the minipool address but not immediately distributed until the balance reaches 1 ETH.  This approach helps save on gas costs and avoids frequent small-value transfers.  For most users, the default behavior is suitable.

{% hint style="info" %}
**Tips: Manually distribute the accrued Consensus Rewards on the Minipool Address**

If you wish to manually distribute the accrued Consensus Rewards on the Minipool Address, you can follow these steps:

1. Go to the **Admin** page of the AVADO Rocketpool DApp.
2. Scroll down and locate the **Run a Manual RPD command** panel.
3. In the box, type:

`minipool distribute-balance` *your-minipool-address*

Replace *your-minipool-address* with your actual Minipool Address, then click **Run**.  Wait for the on-chain transaction to be processed.

Note: make sure you have some ETH in your Hot Wallet to cover the gas fees.
{% endhint %}


# Exit Your Minipools

Exiting from a Rocketpool minipool involves removing the associated validator from active duties and unstaking the 32 ETH from the Beacon Chain.  The 32 ETH stake, along with any accrued rewards, will initially be sent to the Minipool Address.  Subsequently, when the minipool is closed, the stake and rewards will be distributed fairly between the node operator and rETH stakers, according to the Rocketpool protocol.

## Before you Begin

Ensure that your node is fully synced before initiating the exit process.

## Step 1.  Initiate Validator Exit from the Beacon Chain

To initiate an exit from the Beacon Chain, go to the **Status** page of the AVADO Rocketpool DApp.  Find your minipool.  Click on the **Initiate validator exit** button and confirm the action.

<figure><img src="/files/nOIQE3hQNdyWfqhZp88u" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can also initiate the exit from your Consensus Client.  On the Consensus Client dashboard, locate the "exit" icon on the far right of the line.  Click this button to initiate the exit and confirm the action. &#x20;
{% endhint %}

## Step 2.  Wait for the Validator to Exit

After initiating the validator exit, the following events will occur:

* The consensus client will broadcast a message to the beacon chain to signal your intention to exit.
* A few minutes later, beaconcha.in will display a flashing green "exited" state.  The display message will indicate the expected exit and withdrawal epochs.  The "exit epoch" is when your validator can stop performing duties, and the "withdrawal epoch" is when the balance becomes "withdrawable".

<figure><img src="/files/3M4zYBM24629yixerIrJ" alt="" width="563"><figcaption></figcaption></figure>

* The exit epoch is at least 4 epochs later, plus the period you need to wait in the exit queue. The length of the exit queue can be checked at <https://www.validatorqueue.com/>.
* On the validator dashboard, the status will change from `active_ongoing` to `active_exiting`.

<figure><img src="/files/mlVBvLCYZnCE4INIjzJb" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/qNXKyKhDTKwKgqrImNj3" alt=""><figcaption></figcaption></figure>

Once your validator reaches the "exit epoch":

* beaconcha.in shows a solid green "exited" state.
* Rocketpool timeline shows solid green "exited" state.  A message appears to say: "Waiting for final validator withdrawal, before this minipool can be closed".
* On the validator dashboard, the status becomes: `exited_unslashed`.

<figure><img src="/files/KYirZxSDSRWig4UTdEXL" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/sMfPOvLOKAWAlq2wnJIT" alt=""><figcaption></figcaption></figure>

## Step 3: Wait for the Withdrawal to the Minipool

After reaching the "exit epoch," it will take another 27 hours approximately for the validator to become "withdrawable".  Ethereum has these built-in delays in place to prevent malicious actors from exploiting the system.

When your validator reaches the "withdrawal epoch":

* beaconcha.in will display the expected time of withdrawal and the actual withdrawal amount under the "withdrawals" tab.  This should include your 32 ETH stake and any accrued consensus rewards.
* On the consensus client dashboard, the validator status becomes: `withdrawal_possible`.

Now, you need to wait for the validator sweep, which refers to the time interval between your successive consensus rewards.  You can check the Sweep Delay on <https://www.validatorqueue.com/>.

<figure><img src="/files/Mjntiw0E92T7VisXPpTb" alt="" width="563"><figcaption></figcaption></figure>

Once the ETHs have arrived at your minipool address:

* The validator status will change to `withdrawal_done`
* The message on the **Status** page of the AVADO Rocketpool DApp will display: *"Minipool can be closed",* along with a **Close Minipool** button.

<figure><img src="/files/Tryo0Be6QVSuBBPp4rI4" alt="" width="563"><figcaption></figcaption></figure>

## Step 4.  Closing the Minipool

To distribute the ETHs between you (the node operator) and rETH stakers, taking into account the split and commission, you need to **close the minipool**.  Follow these steps:

1. Click on the **Close Minipool** button.
2. Wait for the transaction to be processed.
3. Your portion will be sent to your **Rocketpool withdrawal address**, which you specified during the initial setup.  It is shown under the "Node Status" section on the status page.

Closing the minipool is an on-chain transaction.  Make sure you have some ETHs in your Rocketpool Hot Wallet to pay for gas.  During times of high demand on the Ethereum network, the transaction can take a long time to go through.

Once the minipool is closed, its status becomes "Finalized".

<figure><img src="/files/rXj1QUTrYGdupf37R7Z5" alt="" width="563"><figcaption></figcaption></figure>

## Step 5.  Unstaking the RPL

At this point, your effective RPL will be updated to remove this minipool from the calculation.  You can now unstake any RPL that would put you over the "60% limit" (see below).  If all your minipools have been closed, you can unstake the entire RPL amount.

{% hint style="info" %}
**Maximum RPL Stake**

While the minimum RPL stake for each minipool is 10% of the *borrowed* amount, the maximum RPL stake, for which you can expect to receive rewards, is currently set at 60% of the *bonded* amount (i.e. RPL that is worth 60% x 16 ETH for a 16 ETH pool, or 60% x 8 ETH for an 8 ETH pool).  You can withdraw the excess RPL that puts you above this limit.
{% endhint %}

A button will appear on the **Status** page that reads: "Withdraw xxx RPL," where xxx is your withdrawal amount.  Click this button and wait for the transaction to be processed.  Your RPL will be sent to your Rocketpool withdrawal address.

<figure><img src="/files/vRaRY1n3VPy2JlSXxx7D" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Withdrawals of RPL are subject to a 28-day waiting period since the last stake or restaking action.  Be careful if you claim these rewards before closing your minipool.  If you restake any amount of RPL rewards, you will not be able to withdraw any amount of RPL for 28 days since the last staking action.
{% endhint %}


# Rocketpool FAQ

<details>

<summary>I've set up the Execution and Consensus Clients and they are fully synced, but Rocketpool DApp complains they are 0% synced.  What have I done wrong? </summary>

Very likely you have not set the `EXECUTIONCLIENT` and `CONSENSUSCLIENT` variables correctly.  See here: [Tell Rocketpool which ETH Clients you're using](/staking-ethereum/rocketpool-8-or-16-eth/setting-up-a-rocketpool-node#tell-rocketpool-which-eth-clients-youre-using)

</details>

<details>

<summary>How do I add more Minipools?</summary>

See here: [Add Minipool](/staking-ethereum/rocketpool-8-or-16-eth/add-minipool)

</details>

<details>

<summary>How do I stake more RPL?</summary>

Send the additional RPL you wish to stake to the Rocketpool Hot Wallet.  Then navigate to the **Setup** tab of [AVADO Rocketpool DApp](http://my.ava.do/#/Packages/rocketpool.avado.dnp.dappnode.eth).  Click **Stake RPL** and confirm the action to proceed.  This will send all of the RPL in your Hot Wallet to the staking contract. &#x20;

Wait for the transaction to finish.  You can check the on-chain status by clicking **Transaction details on Etherscan**.

</details>

<details>

<summary>Where do my Rocketpool rewards go?</summary>

See here: [Rocketpool Rewards](/staking-ethereum/rocketpool-8-or-16-eth/rocketpool-rewards)

</details>

<details>

<summary>I'm not getting any RPL rewards.  Why?</summary>

It's important to note that in order to qualify for RPL Rewards, your RPL stake must be above the required minimum, which is equivalent to 10% of the borrowed funds.  For example, if you have an 8 ETH minipool, you are effectively borrowing 24 ETH from the protocol.    Therefore, you will need to have at least (24 ETH x 10%) = 2.4 ETH worth of RPL at the time of the checkpoint in order to receive any RPL Rewards.  Make sure to meet this minimum requirement to be eligible for RPL Rewards. &#x20;

Because the relative price of RPL to ETH fluctuates, you may need to "top up" your RPL stake by staking more RPL before the checkpoint to ensure you remain eligible for RPL Rewards.

If you are below 10% during the checkpoint, you will not be eligible for any rewards for that interval.  Even if you increase above 10% at a later date, you will not have any rewards to claim for that interval.  Therefore it is crucial that you maintain at least 10% collateral at the time when each RPL reward checkpoint is reached.

</details>

<details>

<summary>I have just made the deposit, and beaconcha.in says my validator is pending activation.  But on the Status page of Rocketpool, it says my minipool status is “exited”, with a message “waiting for final validator withdrawal, before this minipool can be closed”.  Why?</summary>

This is a known issue.  The **Status** page is not correct.  Continue to monitor your validator on beaconcha.in.  Once it is activated on the Beacon Chain, the timeline on the Status page will become correct again.

</details>

<details>

<summary>Error calculating lifetime node rewards: rewards file... doesn't exist</summary>

You may come across this error in the **Rewards** tab:

{% code overflow="wrap" %}

```
Error : Error calculating lifetime node rewards: rewards file /rocketpool/data/rewards-trees/rp-rewards-mainnet-21.json doesn't exist and interval 21 is unclaimed.
```

{% endcode %}

This is a known issue.  The solution is to **Restart** the [AVADO Rocketpool DApp](http://my.ava.do/#/Packages/rocketpool.avado.dnp.dappnode.eth/detail).  Wait a few minutes for the reward files to download before you open the Rewards tab again.  (You can actually check that the reward files have been downloaded in the Logs.)

</details>

<details>

<summary>Error getting transaction gas info: could not estimate gas limit</summary>

When trying to deposit ETH or stake RPL, you may come across this error:

{% code overflow="wrap" %}

```
Error getting transaction gas info: could not estimate gas limit: Could not estimate gas needed: Reverted ERC20: transfer amount exceeds balance
```

{% endcode %}

<img src="/files/d87Hg98ULhxalQkiTnAJ" alt="" data-size="original">

This is a known issue, and is usually harmless.  Just check on **Transaction deetails on Etherscan** link to check that the transaction has confirmed.

</details>

<details>

<summary>I've got excess ETH or RPL in the Hot Wallet.  How can I transfer them out?</summary>

You can consider importing the Rocketpool “Hot Wallet” into Metamask, using the 24-word recovery phrase of the Hot Wallet.  You can find the recovery phrase in the Rocketpool Backup File (`rocket-pool-backup.zip`).  Once you have imported the wallet into Metamask, you can access the wallet and send the ETH or RPL to other addresses as you would normally do with Metamask.

There is however a trick here.  If you already have a wallet in Metamask, it will not allow you to import another wallet using the 24-word mnemonic.  To overcome this, you can follow these steps:

1. Create a new profile in your browser: For example, if you are using Chrome, create a new profile so you can install a fresh copy of Metamask.
2. Download and install Metamask in the new profile.
3. Use the 24-word recovery phrase to import the Rocketpool Hot Wallet into this new Metamask installation.

By following these steps, you can import your Rocketpool Hot Wallet into Metamask and transfer the excess ETH or RPL to other addresses.

</details>


# Stader (4 ETH)

## Stader <a href="#stader" id="stader"></a>

Stader is a decentralized staking pool for Ethereum that allows you to start staking with as little as 4 ETH. You will earn ETH and SD tokens by running a Stader validator.

More information: <https://www.staderlabs.com/eth/>

{% hint style="danger" %}
**AVADO to phase out support for Stader**

Stader support will fade out over the next two months.  If the package needs updates AVADO can do this as far as it does not include changing all of the UI as well. &#x20;

Sunsetting the DApp means that it keeps running on your devices in the latest version.  It will not be possible to start new validators from now on.

Existing Stader users will still be able to run, manage and exit their validators, but please proceed with extreme caution.  The UI will show a red warning if there is a discrepancy in the fee recipient of your validators, indicating that you need to change the address asap to the correct address.

If you have 8 or 16 ETH in Stader, we encourage you to use Rocket Pool.  In the near future AVADO will have a solution available, where you can invest less than 8 ETH.

(May 2024)
{% endhint %}

## Exiting from Stader Staking

Follow these steps to exit from Stader staking, and reclaim your ETH and SD stakes and any accrued rewards.

### Step 1.  Initiate the Exit from the Consensus Client and wait for the ETH to be withdrawn from the Beacon Chain

You can initiate validator exit by clicking the Exit button on the Main page of your Consensus Client (e.g. Teku).  The process is similar to exiting a solo validator, and will take some time to get through.  See this [page](/staking-ethereum/solo-staking-32-eth/exit-from-a-solo-validator) (Steps 1, 2 and 3) for details of the process. &#x20;

Once the withdrawal is successful and the validator sweep has happened (validator status becomes `exited_withdrawn`), the 32 ETH (plus accrued rewards) will be sent to the Beacon Chain withdrawal address, which was set to be the Stader withdraw vault.  You can check this address from your validator page on beaconcha.in under the Withdrawals tab, and click through to the "Recipient Address". &#x20;

### Step 2.  Wait for the ETH to be settled between your validator and the ETHx stakers

* Every Stader validator has a withdraw vault and when a validator successfully exits, the Beacon Chain withdraws the ETH bond (32 ETH) to the withdraw vault.
* The Stader node identifies the successful exit and initiates the settlement of funds between the validator and ETHx stakers.  The validator receives their share of 4 ETH, and the ETHx stakers receive their share of 28 ETH.

{% hint style="info" %}
Please note that Stader can process only 20-30 validator exits per day.  After the 32 ETH is received in the withdraw vault, the validator will be placed in a settlement pool, and the settlement will occur when it is your validator's turn to be settled.  The settlement could take days depending on how many other validators are exiting.
{% endhint %}

* You can check that the settlement has happened at your Stader withdraw vault, which is your Beacon Chain withdrawal address, i.e. the "Recipient Address" shown under the Withdrawals tab on your beaconcha.in validator page.  Click through to this address and check under the **Internal Transactions** tab.  Once settlement has happened, you shall see a group of transactions that splits the 32 ETH (plus accrued rewards) into \~4 ETH and \~28 ETH shares.

<figure><img src="/files/Lmr0m18ojYtKLInn3dA4" alt=""><figcaption></figcaption></figure>

### Step 3.  Claim your 4 ETH stake

* Once the funds are settled by the Stader node, you shall be able to claim the funds.
* Make sure you have some ETH in your Stader **Hot Wallet** to pay for gas, like 0.05 ETH or so.  Any excess ETH can be transferred out once you've finished claiming. &#x20;
* Go to the **Advanced mode** tab, and locate the box to "Run a manual Stader API command".  Type this: `api node claim-rewards` and press enter.
* That should send the 4 ETH (plus accrued rewards) to your Stader **Operator Rewards Address**, which you provided during the setup.  This address is shown on the top-right of the AVADO Stader DApp.

<figure><img src="/files/E4JmjwDK8wTRzVos4rKJ" alt="" width="563"><figcaption></figcaption></figure>

### Step 4.  Claim any outstanding ETH and SD rewards&#x20;

Check under **Claim Rewards** in the Stader DApp menu (near the top of page) to see if there are any ETH and SD rewards to claim.  If so, click **Claim rewards for all cycles and send to hot wallet** to send the ETH rewards and SD rewards, respectively, to your Stader **Operator Rewards Address** (not to the "hot wallet" despite what it says on the button).

<figure><img src="/files/A8JN0mi2Fg86cwQakZp3" alt=""><figcaption></figcaption></figure>

### Step 5.  Withdraw the SD stake

On the main screen of Stader DApp, there is a button to **Withdraw SD**, under the deposited SD balance in the right column of the screen.  Click this to send the SD stake to your Stader **Operator Rewards Address**.  (The amount is 0 SD in this example; generally it will show your deposited SD balance.)

<figure><img src="/files/Urkrjx059trkiTc6MWOM" alt="" width="123"><figcaption></figcaption></figure>

### Step 6.  Transfer the residual balance from the Hot Wallet to your own wallet

You may have some excess ETH or SD in your Stader Hot Wallet.  The easiest way to retrieve these funds is to import the Hot Wallet into Metamask.  Once the Hot Wallet shows up in Metamask, you can send the ETH and SD to another address of your choice just like normal.  To do this:

* Click **Advanced mode** on the menu and scroll down.
* Find the button **show private key**.  This will show you the private key of the Hot Wallet.

<figure><img src="/files/G7jzHuWsIlETRgcXRDqy" alt="" width="218"><figcaption></figcaption></figure>

* Open Metamask.  Click on account selection, then click **Add Account**.

<figure><img src="/files/wIaHymHIf0fvbDqQlRSj" alt="" width="306"><figcaption></figcaption></figure>

* Click **Import Account**, then paste the private key into the box.

<figure><img src="/files/RrxtDK9SwqZCIJbS1X1S" alt="" width="155"><figcaption></figcaption></figure>

<figure><img src="/files/M1SSQdmtDJmP1d4U9Z15" alt="" width="313"><figcaption></figcaption></figure>

* Now you have the Hot Wallet account in your Metamask, and you can access the ETH and SD tokens in the account.  You can send the ETH and SD tokens to another Ethereum address, as you would normally do.

Once you have withdrawn your ETH and SD stakes, claimed all rewards, and transferred any remaining balance out of your hot wallet, you can safely remove the Stader DApp from the AVADO.


# RESTAKING ETHEREUM

What is ReStaking and How AVADO Users can Participate

**ReStaking** allows users to stake their assets, such as ETH, not just to secure the blockchain (as with traditional staking) but to extend the security to other decentralized services and protocols, known as Actively Validated Services (AVS).

**Why ReStaking Benefits AVADO Users**\
AVADO users can take their staking strategy to the next level by becoming **Node Operators** for Aqua Patina. By running the Aqua Patina package on their AVADO device, users can not only secure their own staked ETH but also participate in **ReStaking**, supporting decentralized services (AVS) and earning additional rewards. This allows AVADO users to maximize returns while contributing to the decentralization of the network.

For more details on Aqua Patina and how to set up the Aqua Patina node, follow the step-by-step guide on the following pages


# Aqua Patina

**Aqua Patina** is a decentralized Liquid ReStaking solution designed to maximize the rewards earned from staking ETH. Unlike traditional staking, where your assets are locked, Aqua Patina allows you to ReStake your ETH across multiple decentralized services (Actively Validated Services, or AVS) and still maintain liquidity through apETH tokens. This means users can earn rewards while keeping access to their assets for other uses in DeFi ecosystems.

**Why Aqua Patina Needs AVADO Users:**

Aqua Patina relies on decentralized infrastructure, and AVADO users play a crucial role by becoming **Node Operators**. By running dedicated nodes on their AVADO devices, users help secure the Aqua Patina system and contribute to its decentralization. These nodes help process ReStaking tasks, ensuring the network's stability and security.

For AVADO users, running an Aqua Patina node offers the opportunity to participate in the ecosystem while earning rewards. Your involvement enhances the network and contributes to the broader decentralization of Ethereum-based services.


# How to register as a AP SSV Node Operator

**Prerequisites:**

* **Web3 Wallet:** A Metamask or similar wallet with some ETH to cover registration fees (0.05 ETH recommended). Make sure you have backups of this wallet, as operator payouts will go to this address.
* **Software Requirements:** Install and sync Teku, Nethermind, and MEV-Boost from AVADO’s DappStore.

**Installation Steps:**

1. **Install Aqua Patina Operator Package:**
   * Connect to your AVADO device via ZeroTier.
   * Install the Aqua Patina package using [this link](http://go.ava.do/install/ipfs/QmcbwRghi1UZ7xa8HZs6x2GEQXu2a77vS4W9DReVbpC8j9) (until it is released on the DappStore).
   * Once installed, access the package from AVADO's admin panel.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcqP5LDiEy3oHxE_5xmlMMpQ66uVqLEPVvSU8twKoWZOfLE0CqS2Oo0VDMdrKaTyg8KGPFC1r2xQED-Lt3_GnhB3owaOB6AEBuXHucovHjNhLjasxzvsQ3mkdCjO1Ir0p_CwQN7DUknps3EhVlFlQDHG5bj?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption><p>View on the Manual Installer in the AVADO UI</p></figcaption></figure>

**Click on "Install Package"**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeztbyF7vzWfIUKscWOymkq19SBTxgV5lPpr8i8BwtDHND6peEKhL8x9aSuU5-b7tRtEZeQUaA4CzBsl7Ueh5GhmpCp82r3ffX8CpCXlQUpf0GLnZGHTCbvLWl965LY4Ph-MQ4iZjvf__K_M06OOU2WHZPO?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption><p>View on the Manual Installer Aqua Patina Package</p></figcaption></figure>

Once installed - click “go to AVADO admin” to go the AVADO’s home screen. Press the “Open” button on the new “Aqua Patina Operator package”.

<img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf1b-U4gkSDinni6re3sEkCKeYpFIsegfBiKXZou0ohvWmiSSPIVSJrjmTUKqMiJlB6SVMSAuugir8J141RlJ93I0tr0VMx38n3otkhsoRatXPiUT3gTLt_Q2GROh4kDAkIMUP_GVcPvk9SsrnflROzBj0J?key=_tbRPRf68MhaMXOBQZ1VCA" alt="" data-size="original"><br>

1. **Register as an Operator:**

   * Open the Aqua Patina package and click "Register Operator."

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXduIjFo2T37zFA_PEdaArXxPthGZk5XMjCWrDM40ORJMeHkOJZLUy7IY-AKNvyHHCSfTQ6onntvc0W634PVtjEZD6ohBe5xvCx_rbovaEDMe9b3CP_-fJ64a0uyEhW0XT1HEwfpCbZY2MHmgQEs9bSXdMU?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * This redirects you to the [SSV web app](https://app.ssv.network/).

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcR3zf_mnCXiIqL1KH6VK5Jxl4U8pO2dyDWu1kJeibT_myANHC7dQEDA5PIwG0qOSGhIDIl65mBeR3ih1TKYH2EExV5QBLNEEEUOc0uTqOOq0aeUuRtMlOS07XyofDFbWEaVwD007BQTsYsaBZhV4uiXoSB?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Connect your wallet, click "Join as Operator," and then "Register Operator."

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd3LUJCyIzqVFKQstUQv1HT8WFJy0Xe3uxfXiztm9xLAgIt23BC3h9sIDfS6x9aeHQ0zBihvg4fTYN-KUQtDqkiH_rJ0PCK95M14h0xwYEGUQVocZzeWbx0Y3bKML8xptVHYgDfbWr6eGgiYQcLRUgK06B8?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfof86enQllhrAwL4NiO_jqt7KEi3D2HBUDBzFO5Ph81l_XoQbNoiF2thJwh05S4tU4eXjvaED_Ug2Xo7pLLUtQfSNxFiwnnamsYM5XMloblP6Fvu9h_bgSiQ79LVfx-7Ar1g7Rh0s1pbs1Bk9Mv6RNOM4?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Go back to your AVADO Aquapatia package browser tab and click on the underlined “Operator Public Key” value. Copy your Operator Public Key from the Aqua Patina package UI

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcCNbtG4irIkUWZQz4dtfaeLxCfIsGREAAWUibnCLX4g4x3R8gNG-7GkidQJLg-CnwVQSbxdegzOixeJwqztw3_FeXapxGd6NYjZBRaV1nfsbts0UZj7mvsq8paIkejB-7JlLWR1oqYTcMxB29KSHL8JAqM?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Paste the "Operator Public Key" into the SSV web app, and set your fee to "0" (operators are paid in apETH).

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe306HLiWU6kobozMCikAGBb6tFCekSZxsl7GuLqBObbMu8sekXrBynivaALXXSPNlwkN3KPGYDO7ttWaxhv2ERgFumhE8kckIzuF02qTh7fKZUHk0UNUQOFa2U3aG65UENi9TJthT8u82nrwH6zf5hVVuy?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Sign the transaction in your wallet.
2. **Whitelist the Operator’s Address:**

   * After registration, click "Manage Operator" on the SSV app, then go to "Permission Settings."

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXduiygn_OqiXS_k75OsyMbtIPD2n12kmgG5aK2Mav9hV5-5157PhpwlVF6qDA4VaUcygou0U6IdTx5SOX_cRKei6QCywLMZUqzjPhyJD_x8UAW6tHYDZRjJQ9YggJ0mSL-lTsZrMmErDNw0dlOOZ3d4qyTS?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Click on the three dots in the right top corner and select “Permission settings” from the menu

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd3Wg8x8er6CjxjeT-pBnHdlZts2T4gqb1hhC2_A_HnSbiIpZvCMSc8yDphvnXM3Jw7LL_myHzvLzyb666XkAkLCZ5vlqtxn1mAJMpLQKhsOrDo52b75n3byqAIheYS54PiYuF2MXF3GRArIaSKagbeT4jf?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Select “Authorized addresses”

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfGEiLNvU0hcWg6nnJ_07N77haEJtbg68zSiFQhewc9fpx5LwafVyvK1oJV_FhdwSUQZnFK6izdxturXDSMx0745L8sD95wrM37r7AcdeyFar34Ape-plsDofq7BNzpXhy1IWCjNNnFQDZF9jXFNbnHgcw4?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Click “Add Authorized Address”

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7f0cGU5vEzpcv-RevEilCptw2bQSXGk47SGx7MVIvAzoGy5PIhPFBdtfkBvS1tCEIN7GK-qJ6caBzm8W_hH32WBShgnt7HaUVB4ATnvMuUURnJ2Bfi-zcRJYy9TSb_wnp9343vRxLogJE8eiAKRpB7bc2?key=_tbRPRf68MhaMXOBQZ1VCA" alt=""><figcaption></figcaption></figure>

   * Fill out `0x991a08b9a857729c4e27b4ed0750dd64cbae64fa` as the new authorized address.
   * Now press "Add address" and sign the transaction.
3. **Finalize:**
   * Congrats: you’ve finished the setup process. Your node will now be monitored by the AP system, and your node operator score will be calculated.


# Gnosis Staking

Welcome to the world of Gnosis staking!

Gnosis Chain (formerly xDAI network) is a community-owned, Ethereum-compatible Layer-1 network operated by a diverse set of validators around the world.  Gnosis has a strong culture of home stakers running nodes from their homes, that are not reliant on cloud providers or data centers.  Currently, there are over 200,000 validators who secure the network.

The chain uses a unique dual-token model.  **xDAI** is a stable token used for transactions, payments, and fees.  Proof of Stake protection is provided by the **GNO** token with the consensus-layer Gnosis Beacon Chain. &#x20;

Operating a Gnosis validator currently earns you approximately 13% GNO consensus rewards (Apr 2024) as well as transaction fees in xDAI from the blocks you build.  You can check the current yield of GNO staking and many other statistics on this [Dune Dashboard](https://dune.com/gnosischain_team/gnosischain).

As an active participant in the Gnosis Chain network, your role will involve running a **node** and acting as a **validator**.  Validators have the responsibility of proposing, verifying, and vouching for the validity of blocks.  To ensure the honesty of validators, you are required to post some GNO as collateral.  Gnosis Chain allows you to start participating as a validator with a stake as low as **1 GNO**.  In return for your services as a node operator, you will receive rewards in both **xDAI** and **GNO** tokens.

The following schematic diagram provides an overview of the Gnosis Staker's Journey on the AVADO:

<div data-full-width="true"><figure><img src="/files/8NJY4VSEZg8lVt1fUWRU" alt=""><figcaption><p>The Gnosis Staker's Journey</p></figcaption></figure></div>

Compared to the [Ethereum Solo Staker's Journey](/staking-ethereum/solo-staking-32-eth#the-solo-stakers-journey), the steps involved in Ethereum and Gnosis staking are very similar.  In both cases, you will set up the Execution and Consensus Clients.  You will need to generate the validator keys, make the staking deposit, set the Withdrawal Address and the Fee Recipient Address.  The process of partial withdrawals ("skimming" of consensus rewards) and final exiting are also very similar.

The key differences between Ethereum and Gnosis staking are as follows:

<table><thead><tr><th width="239"></th><th>Ethereum Staking</th><th>Gnosis Staking</th></tr></thead><tbody><tr><td><strong>Staking Token</strong></td><td>32 ETH</td><td><strong>1 GNO</strong></td></tr><tr><td><strong>Deposit Site</strong></td><td>Ethereum Staking Launchpad</td><td><strong>Gnosis Chain Deposit Site</strong></td></tr><tr><td><strong>Execution Rewards</strong></td><td>In ETH, sent to Fee Recipient Address</td><td>In <strong>xDAI</strong>, sent to Fee Recipient Address</td></tr><tr><td><strong>Consensus Rewards</strong></td><td>In ETH, sent to Withdrawal Address</td><td>In <strong>GNO</strong>, <strong>claimable</strong> at the Withdrawal Address</td></tr></tbody></table>

AVADO provides **Gnosis Nethermind** for Execution Client, and **Gnosis Teku** for Consensus Client.  MEV-Boost is not applicable on the Gnosis Chain.

## The Steps

The following are the steps for Gnosis staking on AVADO:

* [**Getting Started on the Gnosis Chain**](/more-staking-opportunities/gnosis-staking/getting-started-on-gnosis-chain).  To begin, learn how to connect to the Gnosis Chain through your wallet, and how to acquire some xDAI and GNO tokens.
* [**Set up the Gnosis Clients**](/more-staking-opportunities/gnosis-staking/setting-up-the-gnosis-clients)**.**  You will need to set up and fully sync your Execution and Consensus Clients (Gnosis Nethermind and Gnosis Teku).
* [**Generate Keys**](/more-staking-opportunities/gnosis-staking/generate-keys-gnosis).  You will need to generate your staking keys.  The key generation process will provide you with the **keystore** files, which contain the validator keys to be loaded into the Consensus Client.  There is also a **deposit data** file, which is required for depositing your 1 GNO stake to the Beacon Chain. &#x20;
* [**Stake 1 GNO**](/more-staking-opportunities/gnosis-staking/deposit-1-gno).  Deposit 1 GNO as proof of stake to become an active validator.  Make the deposit at the **Gnosis Beacon Chain Deposit** web site.
* [**Import Validators Keys**](/more-staking-opportunities/gnosis-staking/import-validator-keys).  Import your keystore files into your Gnosis Teku to start validator duties. &#x20;
* [**Monitor Your Node**](/more-staking-opportunities/gnosis-staking/monitor-your-node).  Stay informed about your validator's performance and status.  Utilize the **gnosischa.in** website and mobile app for real-time updates.&#x20;
* [**Rewards and Penalties**](/more-staking-opportunities/gnosis-staking/rewards-and-penalties).  Understand your responsibilities as a validator, including attesting and proposing blocks.  Learn about potential rewards and penalties for missed duties or non-compliance with network rules.
* [**Set Withdrawal Address**](/more-staking-opportunities/gnosis-staking/set-withdrawal-address).  Control the destination of your staked funds and rewards by setting the Withdrawal Address. &#x20;
* [**Exit from a Gnosis Validator**](/more-staking-opportunities/gnosis-staking/exit-from-a-gnosis-validator).  At some point, you may decide to exit from the validation process.  Our guide will provide you with the necessary information and steps to finally exit.

Happy Staking!


# Getting Started on Gnosis Chain

## Add Gnosis Chain to Your Wallet

For **Metamask**, follow one of these instructions to add Gnosis Chain:

### Option 1: One-click Configuration

Visit [**ChainList**](https://chainlist.org/?search=gnosis), then simply click **Add to Metamask** to add Gnosis (Chain ID: 100, Currency: xDAI) to Metamask.<br>

<figure><img src="/files/WgI27M6JKFqL9uXl3pcw" alt="" width="563"><figcaption></figcaption></figure>

### Option 2: Manual Configuration

1. In MetaMask go to **Settings** > **Networks**
2. Scroll to the bottom and click the **Add Network** button
3. Click **Add a network manually**
4. Fill in these values:

<table><thead><tr><th width="224">Item</th><th>Value</th></tr></thead><tbody><tr><td><strong>Network Name</strong></td><td>Gnosis</td></tr><tr><td><strong>RPC URL</strong></td><td>https://rpc.gnosischain.com</td></tr><tr><td><strong>Chain ID</strong></td><td>100</td></tr><tr><td><strong>Currency symbol</strong></td><td>XDAI</td></tr><tr><td><strong>Block explorer URL</strong></td><td>https://gnosisscan.io</td></tr></tbody></table>

<figure><img src="/files/CSzkQzjTdroXz894OQMx" alt="" width="563"><figcaption></figcaption></figure>

Use all capital letters for `XDAI` to avoid Metamask warning about "scam tokens". &#x20;

Once you're done, click **Save**.

### Import the GNO Token

To import the GNO token to Metamask, you can visit [**Blockscout**](https://blockscout.com/xdai/mainnet/token/0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb/token-transfers) and click on the fox icon to import the token to Metamask.

<figure><img src="/files/cMcEq9ymV8lG514paWJk" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/fgujUxcT4BB2rrLsy7af" alt="" width="375"><figcaption></figcaption></figure>

### Other Wallets

For other wallets, add the Gnosis Chain using the network information as above, and add the GNO token using its token address as shown on the Blockscout site.

## Obtain Some GNO

There are multiple ways to obtain GNO on the Gnosis chain.  However, it is important to conduct your own research and proceed at your own risk. &#x20;

**If you don't already have GNO on the ETH mainnet**, it is highly recommended **not** to purchase it on the mainnet.  The gas fees for bridging it to the Gnosis chain can be significantly higher than necessary. &#x20;

One easy and cost-effective method to acquire GNO on the Gnosis chain is by bridging DAI from the ETH mainnet to the Gnosis chain using [**The Gnosis Chain Bridge**](https://bridge.gnosischain.com/).  By bridging DAI to xDAI, you will have xDAI in your wallet, which can be used to pay for transaction gas fees on the Gnosis chain, which are only fractions of a cent.

Once you have xDAI in the desired account for your validator deposit, you can use [**Honeyswap**](https://honeyswap.org/) or [**CowSwap**](https://cowswap.exchange/#/swap) to swap xDAI for GNO.  Keep in mind that for each validator you plan to run on the Gnosis Beacon Chain, you will need exactly 1 GNO.  It is advisable to start with 1 validator initially to become familiar with the process before attempting to run more.

**If you already possess GNO on the mainnet**, you can bridge it to the Gnosis chain by visiting [**The Gnosis Chain Bridge**](https://bridge.gnosischain.com/) or [**jumper.exchange**](https://jumper.exchange/).  The following screenshots are from the Gnosis Chain Bridge:

<figure><img src="/files/vHYXGFi7JdBDrysEthzH" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/9BoNS8PNY7EwqUN7aqAP" alt="" width="563"><figcaption></figcaption></figure>


# Setting up the Gnosis Clients

To start validating, you need to install both the **Execution Client (Gnosis Nethermind)** and the **Consensus Client (Gnosis Teku)** on your AVADO machine.  These two pieces of software work together to perform your validator duties. &#x20;

During the initial setup, they will download and process all existing information from the Gnosis blockchain to ensure they have an accurate and up-to-date local copy of the Gnosis state.  This process is known as "**syncing**".

The Consensus Client will need to sync up first, and this is a relative fast process that can complete within a few minutes with Gnosis Teku.  Syncing Gnosis Nethermind will take more time, usually a day or two, as it involves downloading and processing a substantial amount of data.

{% hint style="info" %}
**Keep your device cool!**

During the initial sync of a blockchain, your system will operate at full capacity for multiple hours.  It is crucial to maintain an optimal temperature to prevent any potential heat damage.  If you are using the AVADO i7 model, which features a fan-less design with cooling fins, we recommend using a USB fan to provide additional cooling support during this initial sync process.  This will help ensure that your system stays cool and operates efficiently throughout the syncing period.
{% endhint %}

## Step 1: Install Gnosis Nethermind

Navigate to the DappStore and locate the DApp named **Gnosis Execution Client (Nethermind)** and click **Install**.

<figure><img src="/files/43ZoVBxzNMGDFXO3JlHc" alt=""><figcaption></figcaption></figure>

After installing Gnosis Nethermind, it will automatically start running, but it won't be able to sync until a Consensus Client is installed and synced.  This will be our the next step.

## Step 2: Install Gnosis Teku

Navigate to the DappStore and locate the DApp named **Gnosis Validator + Beacon Chain (Teku)** and click **Install**.

<figure><img src="/files/za21gpXtHwPa1xYcilOO" alt=""><figcaption></figcaption></figure>

Once installed, you can open the Gnosis Teku DApp by:

* Clicking the [**Open**](http://my.ava.do/#/Packages/teku-gnosis.avado.dnp.dappnode.eth) button for the DApp on the Home Page; or
* Clicking the **DETAILS** button for the DApp on DappStore, then click [**Configure Package**](http://my.ava.do/#/Packages/teku-gnosis.avado.dnp.dappnode.eth); or
* Clicking the name of the DApp, or its [**Open**](http://my.ava.do/#/Packages/teku-gnosis.avado.dnp.dappnode.eth) button, on the **My Dapps** menu (figure below).

<figure><img src="/files/8sFo6KXAMZmkk6IypuWt" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/j8x2cwB8Z1bX2eM6it4l" alt=""><figcaption></figcaption></figure>

The DApp has two sub-menus: **Main**, and **Settings.**

<figure><img src="/files/rz13vLQcBuIu4G1OpFQx" alt=""><figcaption></figcaption></figure>

If you're using a phone or tablet, the sub-menus may be hidden.  Look for the button that has three horizontal lines, on the right-hand side of the screen.  Click to expand it.  The expanded sub-menu can be found on the left-hand side of the screen (you may need to scroll across to see it).

<figure><img src="/files/6X1ubvyjQMm7WKUSltTu" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="/files/cPRMVBHvCgQMnhYzEZzU" alt="" width="375"><figcaption></figcaption></figure>

## Step 3: Set Fee Recipient Address in Gnosis Teku

Gnosis Teku will prompt you to set up a default Fee Recipient Address. &#x20;

#### What is the Fee Recipient Address?

When you start validating, there will be two streams of rewards:

* **Consensus Layer rewards:** These are regular rewards (in **GNO**) paid to you for performing validator duties, such as producing attestations, and making proposals.  These rewards accrue on your validators and are regularly "skimmed" to your *Withdrawal Address* (which you will set separately).
* **Execution Layer rewards:** These are occasional rewards (transaction fees, in **xDAI**) paid to you when you get a chance to make a block proposal.  These rewards are immediately available and are sent to your *Fee Recipient Address*.

The Fee Recipient Address is where you would receive your Execution Layer rewards.  Please make sure that you:

* Use a Gnosis address you own and control, preferably a hardware wallet address. &#x20;
* **Do not use an exchange address**, as most exchanges are not set up to recognize staking rewards and you will very likely lose your rewards.

For your consideration:

* You can change the default Fee Recipient Address any time.
* You can set the Fee Recipient Address for individual validators any time, overriding the default.
* You can use different Fee Recipient Addresses for individual validators, if you wish.
* You can set the Fee Recipient Address to be the same as your Withdrawal Address (to be set separately), if you wish.

To set the Fee Recipient Address, enter or paste-in your Gnosis address into the box indicated in the figure below.  Then click **Apply changes**.

<figure><img src="/files/L704AdgzU6mmevRKFFUy" alt=""><figcaption></figcaption></figure>

## Step 4: Syncing Gnosis Teku

Gnosis Teku will need to sync up first.  Thanks to **Checkpoint Sync**, the Consensus Clients start with a recently finalized checkpoint state and only need to catch up to the current head of the blockchain.  This process is relatively fast, usually taking **only a few minutes**.

Gnosis Teku's syncing process closely resembles that of Ethereum.  For a better understanding of what to expect during the syncing process and for troubleshooting guidance, please refer to the [Syncing the Consensus Client - Teku](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/teku)" section.

If everything goes smoothly, the [**Logs**](http://my.ava.do/#/Packages/teku-gnosis.avado.dnp.dappnode.eth/detail) will indicate that the Execution Client is online, the Beacon Chain syncing process has begun, and shortly after, the syncing will be completed.  At that point, Gnosis Teku will be waiting for the Execution Client to finish its syncing process.

<figure><img src="/files/MASt4P5e8IEW7VIIKnUw" alt=""><figcaption></figcaption></figure>

## Step 5: Syncing Gnosis Nethermind

Syncing Gnosis Nethermind is the process by which the it catches up to the latest Gnosis block and synchronizes its global state.  It is a time-consuming process, typically taking **many hours to a few days** depending on your network speed.  It's important to be patient during this period. &#x20;

Gnosis Nethermind's syncing process closely resembles that of Ethereum.  For a better understanding of what to expect during the syncing process and for troubleshooting guidance, please refer to the [Syncing the Execution Client - Nethermind ](/staking-ethereum/setting-up-the-eth-clients/syncing-the-execution-client/nethermind)" section. &#x20;

To ensure a smooth syncing experience, we recommend familiarizing yourself with the sync process and actively monitoring the [**Logs**](http://my.ava.do/#/Packages/nethermind-gnosis.avado.dnp.dappnode.eth/detail)**.** By doing so, you can gain confidence in determining whether the syncing process is progressing smoothly or if any issues require your attention.

## Next Steps

Congratulations for setting up your Gnosis node!

Now that you have the basic infrastructure in place, you can proceed to the actual staking.  Follow our guide on the next step to generate validator keys.


# Generate Keys (Gnosis)

Staking keys play a crucial role in Gnosis staking as validators use them to sign attestations and proposals.  These keys are also necessary for depositing the 1 GNO stake.   Additionally, the staking keys will be used to set the Withdrawal Address for receiving rewards and making final withdrawals. &#x20;

As a user looking to participate in staking, you will need to generate your own staking keys.

In this section, we will provide detailed instructions on generating and securely managing your staking keys using the **Gnosis Wagyu Key Generator** software.

{% hint style="warning" %}
**AVADO Gnosis Key Generator deprecated**

AVADO used to provide “Gnosis Key Generator v0.0.1” package for generating the staking keys.  **This is no longer used.**  It is recommended that you use the Gnosis Wagyu Key Generator software as detailed below.
{% endhint %}

## Before you Begin

Before you begin the key generation process, there are a few important points to keep in mind:

1. Prepare pen and paper to write down important information.  This includes the **24-word secret recovery phrase** (also called the “mnemonic”, or the “seed phrase”) and the **keystore password**. Safely storing and keeping these details secure is your responsibility.
2. It is vital to have multiple secure backups of your secret recovery phrase and password.   The secret recovery phrase is the only way to withdraw your stake, so treat it with extreme care.  Losing this information will result in permanent loss of access to your funds.

{% hint style="warning" %}
**Warning: Keep your secret recovery phrase safe**

If you lose the 24 word mnemonic phrase, no one will be able to help you.
{% endhint %}

3. If possible, use an "air-gapped" computer during the key generation process.   An air-gapped computer is one that is not and has not been connected to any network, minimizing the risk of exposing your secret recovery phrase.  If an air-gapped computer is not available, ensure you disconnect from the internet by turning off all networking options (unplugging Ethernet, switching off Wi-Fi, etc.) while generating your keys.

{% hint style="info" %}
**Tips:** For advanced users, consider using a live operating system like [Tails](https://tails.net/) installed on a USB drive, and run it on a computer with disabled network capabilities for added security.
{% endhint %}

## Step 1: Install Gnosis Wagyu Key Gen on your Computer

**Gnosis Wagyu Key Generator** is a user-friendly, free, and open-source GUI application that facilitates the creation of Ethereum staking keys.  With Wagyu, generating keys is a seamless and intuitive process, eliminating the need for users to type any commands on the command line.

Visit <https://github.com/alexpeterson91/Gnosis-Wagyu-Key-Gen/releases> and download the Gnosis Wagyu Key Generator for your computer’s operating system.  Make sure you download from this site, and not from anywhere else.

<figure><img src="/files/slRZ2cVNpGeEh0TVG6vm" alt=""><figcaption></figcaption></figure>

When you first attempt to run the software, your computer may warn you that this is an unrecognized app.  Given that you have downloaded the software from its official site, you can proceed to override the default security setting.

{% tabs %}
{% tab title="Mac" %}

<figure><img src="/files/qyDYrDAeGQs2SIVBpqj2" alt="" width="372"><figcaption></figcaption></figure>

Assume you’ve installed Wagyu to the Applications folder.  In the Finder on your Mac, navigate to the Applications folder and locate the Wagyu app.  **Right-click** the app icon, then choose **Open** from the shortcut menu.  Then choose **Open** again to open it.  The app will be saved as an exception to your security settings, and next time you can open it normally by double-clicking it.
{% endtab %}

{% tab title="Windows" %}

<figure><img src="/files/kmWeIQB6dTWqwb2f6k7T" alt=""><figcaption></figcaption></figure>

On the “Windows protected your PC” warning screen, click “More info”, then choose “Run anyway” to proceed.
{% endtab %}
{% endtabs %}

Once complete the Key Generator will open:

<figure><img src="/files/A1U4ey7lNiqfqBrACwtQ" alt="" width="563"><figcaption></figcaption></figure>

## Step 2: Create your Secret Recovery Phrase

If this is the first time you generate an Ethereum staking key, click **Create New Mnemonic Recovery Phrase** to start.

Wagyu reminds you again the importance of keeping both your secret recovery phrase and you validator keys safe and secure.  Heed the warnings!

<figure><img src="/files/v4hZPx44ST77nuVbMtIz" alt="" width="563"><figcaption></figcaption></figure>

When you’re ready, click **Create** to generate the secret recovery phrase.

<figure><img src="/files/3aV4Miv7YQu5OFygA6Bl" alt="" width="563"><figcaption></figcaption></figure>

This is your 24-word secret recovery phrase.  Write it down, make multiple copies, and refrain from using the clipboard to copy or otherwise storing it electronically.  When you're ready, click **Next**.

You will have a chance to key in your secret recovery phrase to confirm it is complete and correct.

## Step 3: Creating your Keys

In the next screen, **Create Keys**, there are three important pieces of information that need consideration.

<figure><img src="/files/F9ZUmQrWOFCjJL4QJzSk" alt=""><figcaption></figcaption></figure>

### Number of New Keys

This is the number of validator keys you want to generate.  Each validator requires a deposit of 1 GNO.

If you’re creating only one validator, enter “1” here.  You will obtain *one* **keystore** file, and *one* **deposit data** file.  The deposit data file will contain information for depositing *one* lot of 1 GNO stake.  You’ll need to upload this deposit data file to the Gnosis Beacon Chain Deposit web site to make the deposit.

If you intend to create multiple validators, enter a number larger than “1”.  Keep in mind that:

* You will obtain *multiple* keystore files, one for each validator;
* However, you will still receive *one* deposit data file that contains information for *multiple lots* of 1 GNO stake;
* During the deposit step, you will be asked to deposit for *all* of validators specified, that is, 2 GNO for 2 validators, 3 GNO for 3 validators, and so on. &#x20;

Consider whether you want to make all the deposits at once, or start with a smaller batch and deposit for additional validators later.  You can easily come back to create additional validator keys and a corresponding deposit data file at a later stage.

### Password

This is the password for your **keystore** file(s).  You will upload the keystore files to your validators on the AVADO and you will need this password at that time.  Remember to write down this password and keep it secure along with the secret recovery phrase.

### Gnosis Withdrawal Address

This is your Gnosis address for receiving consensus rewards and making the final withdrawal of your stake.  Ensure that you have control over this address, preferably using a secure wallet address such as a hardware wallet. &#x20;

Be cautious when selecting the address as it can only be set once and cannot be changed later. If you lose the private key of this address, you will lose access to your deposit and rewards.

{% hint style="danger" %}
**Warning: Do NOT use an exchange address!**

Using an exchange address as your Withdrawal Address for staking is extremely risky.  Most exchanges are not equipped to handle Gnosis staking rewards and withdrawals.  As a result, you will likely face significant challenges or even be unable to retrieve your deposit and rewards.
{% endhint %}

Although setting the Withdrawal Address is optional at this point, it's recommended that you set it now for added security.  This ensures that if your secret recovery phrase, or even your AVADO, is stolen in the future, the perpetrators won't be able to divert your funds from the Withdrawal Address since this cannot be changed.  Hence, it's advisable to decide and set your Withdrawal Address now for better protection.

If you nevertheless prefer to set the Withdrawal Address at a later time, you can leave the Withdrawal Address box empty.  You can always set the Withdrawal Address later using your 24-word secret recovery phrase, and using tools like AVADO's ETH Withdrawal Address Tool (which also works for Gnosis Chain).

When you are ready, click **Next** to continue.  You will be asked to re-type the keystore password in the next screen to confirm.

## Step 4: Create your “deposit\_data” and “keystore” files

Now choose a folder where you will be receiving your keystore file(s) and deposit data file.  If you’re doing this offline, as recommended, put the files on a USB stick to move them to your internet connected machine.

<figure><img src="/files/pzodpeP0jTR9eBtV0LiZ" alt="" width="563"><figcaption></figcaption></figure>

Click **Create** to proceed. After a short while, you will obtain the following output files:

* Keystore file(s) (`keystore-xxxxxxx.json`), one for each validator.  You will need these files to set up your validators to “sign” transactions.  Do not share with anyone.
* Deposit data file (`deposit_data-xxxxxx.json`).  There should only be one file.  This file represents the public information about your validator.  You will need this file to deposit your 32 ETH per validator at the Gnosis Beacon Chain Deposit site.

In the event these files are lost or become inaccessible, they can always be recreated from your secret recovery phrase.  Follow the instructions to [Re-generate or Generate More Keys](/staking-ethereum/solo-staking-32-eth/generate-keys/re-generate-or-generate-more-keys) for Ethereum (and substitute the tool with Gnosis Wagyu Key Gen).

<figure><img src="/files/f7KaBqETqUriTYyhkvne" alt=""><figcaption></figcaption></figure>

Congratulations, you’ve successfully generated your staking keys!

## Next Steps

Now, let's take a moment to revisit [The Gnosis Staker's Journey](/more-staking-opportunities/gnosis-staking) diagram to understand what you have accomplished so far.

<figure><img src="/files/SdILHpfNr93yAYMqgxzY" alt=""><figcaption></figcaption></figure>

* You have created the deposit data file, which needs to be uploaded to the deposit site along with a 1 GNO deposit per validator.
* You have generated the keystore file(s), which can be imported into your validators.
* You have obtained the seed phrase, which serves as a backup and can be used to regenerate the keystore files and deposit data file if needed.  It also allows you to generate additional new keys in the future.  Furthermore, if you haven't set the withdrawal address yet, the seed phrase can be used to set it.

With these steps completed, you can now proceed to make your deposit!


# Deposit 1 GNO

You are about to make the deposit on the official **Gnosis Beacon Chain Deposit** web site.  This is a serious commitment and cannot be reversed once you completed the deposit.&#x20;

{% hint style="danger" %}
Visiting the official **Gnosis Beacon Chain Deposit** web site is the ONLY way you can make the deposit.  Do not attempt to manually send funds to the deposit contract or your will lose your funds.

**Gnosis Beacon Chain Deposit web site**: [**https://deposit.gnosischain.com/**](https://deposit.gnosischain.com/)
{% endhint %}

## Before you Begin

Before you begin the deposit process:

1. Check that you have obtained the **deposit data** file (`deposit_data-xxxxxx.json` file) from the Key Generation step.  Make sure you have written down the secret recovery phrase and have kept it very safe.
2. Use a browser with a connected wallet.  For best experience, it is recommended to use a desktop or laptop computer with **Metamask** installed as a browser-extension wallet.  If you have a hardware wallet such as Trezor or Ledger, connect your hardware wallet to Metamask.  You can find instructions on how to do this [here](https://support.metamask.io/hc/en-us/articles/4408552261275-Hardware-Wallet-Hub).  Please be assured that connecting your hardware wallet through Metamask is a safe operation, because your private keys remain secured only in your hardware wallet and you are not relying on Metamask to manage your keys. &#x20;
3. Make sure you have prepared 1 GNO (plus some gas in xDAI) in your wallet for each validator you plan to stake.  This GNO can be in your Metamask account, or if you have connected your hardware wallet to Metamask as described above, it can reside in your hardware wallet.  There is no need to *transfer* the GNO from your hardware wallet to your Metamask account.

## Step 1:  Visit the Gnosis Beacon Chain Deposit Site

Visit the [Gnosis Beacon Chain Deposit](https://deposit.gnosischain.com/) site.

You will be asked to connect your wallet.  If you have a hardware wallet such as Trezor or Ledger, connect your hardware wallet through Metamask.

<figure><img src="/files/1QA8UmrXauXnfxgrtSTm" alt="" width="563"><figcaption></figcaption></figure>

## Step 2:  Upload the Deposit Data File

Under the **Deposit** tab:

1. Drag your **deposit data** file (with a name like `deposit_data-xxxxxx.json`) into the designated window.  Only upload the deposit data file, **not** your keystore json files.

<figure><img src="/files/SZQ5r3RCCvnbZd3UqLMj" alt="" width="563"><figcaption></figcaption></figure>

2. After dragging the deposit data file, look for the green check marks, indicating that the deposit data file is valid.  Once you see the check marks, you can click **Deposit**.

<figure><img src="/files/PCOpZWOtWMJ2sI59TygR" alt="" width="563"><figcaption></figcaption></figure>

## Step 3:  Acknowledge Risks

Check that you understand the risks and ensure you are interacting with the correct contract before proceeding.

<figure><img src="/files/U7sV2WxxrjSUdh0hB05H" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/tixlgcsfCSanu8DQJPWb" alt="" width="563"><figcaption></figcaption></figure>

## Step 4:  Make the Deposit

When you are ready:

* Take a deep breath.
* Click **OK** to initiate the transaction.
* Confirm the transaction(s) in the wallet.  If you have connected a hardware wallet, you will also physically press the buttons on the wallet device to confirm each transaction.  Make sure you use a gas fee that is appropriate for the market condition.
* You can check the transaction on **gnosisscan** (from Metamask, click "View on explorer").  Give it a little time for the transaction to confirm.

Once the transaction goes through, you will see this confirmation screen.

<figure><img src="/files/cXuTLR0raMnvXN8TaxGx" alt="" width="563"><figcaption></figcaption></figure>

## Step 5:  Monitor the Progress

Congratulations on successfully making your GNO deposit!

However, please note that your validators are not yet ready for action.  There is a waiting period of a couple of hours between your deposit and the activation of your validators on the Beacon Chain. &#x20;

Meanwhile, you can track your validator on the [**gnosischa.in**](https://gnosisscan.io/) website and search for your validator using your validator "**pub key**".   Find your validator "pub key" in the deposit data file or the keystore file, copy it, and input into the search field on [**gnosischa.in**](https://gnosisscan.io/) to find your Validator Page.

<figure><img src="/files/qgrd5GNSWQVUInO2Enxz" alt="" width="563"><figcaption></figcaption></figure>

Key information on your Validator page:

* **A. Your Validator's Unique Index and Pub Key:** These are the identifiers of your validator on the Beacon Chain.  In this example, the Unique Index has not shown up yet.  It will show up once the deposit is recognized by the Beacon Chain.
* **B. Status:** Initially, the status will show a flashing green **Deposited** state.  Once your deposit is recognized by the Beacon Chain, the **Deposit** state will turn solid green.  This will be followed by a flashing green **Pending** state while your validator waits in the activation queue.
* **C. Text information:** Initially, it will inform you that the deposit is waiting to be recognized by the Beacon Chain.  Once recognized, it will provide the expected time, and a countdown, for your validator to clear the activation queue.  Note that the instruction says it will take around 16-24 hours; in reality it is only going to take 2-4 hours.  Also the reference to "32 mGNO" simply means "1 GNO".

Click on the **Deposits** tab (**D**, or you may see a "wallet" icon before clicking):

* **E. "Execution Layer":** After depositing, this section shows the deposit transaction and the time it was made.
* **F. "Consensus Layer":** In this example, the deposit has not been recognized by the Beacon Chain.  Once recognized, this section will display the epoch, slot, and time when the deposit was recognized.
* **G. "Withdrawal Credentials":** In this example, the Withdrawal Address has been set.  The text shows a *withdrawal credentials* that start with `0x01`, confirming that the Withdrawal Address has been set.  Clicking on the link will take you to the actual Withdrawal Address.  If a Withdrawal Address has not been set, the withdrawal credentials will start with `0x00`.

Once your validator clears the activation queue, the **Active** status will turn solid green.  Your validator will be expected to perform its duties from that point onwards.  Make sure your Gnosis clients are fully synced, and keystore files loaded, before the activation queue countdown reaches zero. &#x20;

## Next Steps

Let's take a moment to revisit [The Gnosis Staker's Journey](/more-staking-opportunities/gnosis-staking) diagram to understand what you have accomplished so far.

<figure><img src="/files/CqLXubAztvSQ7kR6mzyD" alt=""><figcaption></figcaption></figure>

In the key generation step, you have created the **deposit data** file.  You have now uploaded the file to the Gnosis Beacon Chain Deposit site along with a 1 GNO deposit per validator.

You have also obtained the **keystore** files(s).  Next, you will import the keystore file(s) to your Consensus Client so it is ready to participate in validation seamlessly the moment your validator is active on the Beacon Chain.

If you have also set the Withdrawal Address during the Key Generation process, you also have a destination for your Consensus Layer rewards, and your GNO stake when you finally exit.


# Import Validator Keys

Your validator keys are used for validating and attesting to the correctness of blocks in the Gnosis blockchain.  Validators also use the keys to propose and sign for new blocks, maintaining the integrity of the network.

You will need to import your validator keys into your Consensus Client (Gnosis Teku).  Your validator keys are contained in the **keystore files** which you obtained from the key generation process.

## Before you Begin

1. Make sure your Execution and Consensus Clients are up and running.  You can import the validator keys even if the clients are still in the process of syncing.
2. Make sure you have your keystore files with you.  There will be one keystore file per each validator you intend to run.  Make sure also that you have the [password](/more-staking-opportunities/gnosis-staking/generate-keys-gnosis#password) to decrypt the keystore. &#x20;

## The Steps

On your AVADO, open [**Gnosis Teku**](http://my.ava.do/#/Packages/teku-gnosis.avado.dnp.dappnode.eth) on the Home Page. &#x20;

On the **Main** page, click the **Add validator** field to expand it.

<figure><img src="/files/T8mQzIwMnOdnHuIKASal" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/LuUiWXo7qRLso343Vw7r" alt=""><figcaption></figcaption></figure>

Steps to add a validator:

1. Click **Choose keystore file…** and browse to the keystore file (`.json`) you obtained from the key generation process.
2. Enter your keystore password.
3. (Optional) If you have a slashing protection file, upload the file here.  For most users, this is not necessary.
4. Finally click **Add validator** to add the validator.

<details>

<summary>What is "slashing protection"?</summary>

Slashing protection prevents validators from signing blocks or attestations based on what it has already signed.  It is useful when switching Consensus Clients or machines.  Note that slashing protection does not provide protection if the same validator key is inadvertently being used by multiple nodes.

For most users, the easier option is to wait for a minimum of 5 finalized epochs before importing their keys into the target Consensus Client.  Given the current network conditions, this waiting period amounts to approximately 30 minutes.  To err on the side of caution and ensure absolute safety, we recommend waiting for 10 finalized epochs.  This precaution is necessary to prevent the risk of  slashing due to premature activation.

</details>

## The Validator Dashboard

Once you have added your validator(s) to Gnosis Teku, they will appear on the **Main** page:

<figure><img src="/files/TVliFPtlMOlMapLNYEPd" alt=""><figcaption></figcaption></figure>

Here's a breakdown of the displayed items, from left to right:

1. **Gnosischain icon:** Click this link to access your validator's page on **gnosischa.in** web site. It provides valuable information about your validator's status and serves as your primary resource for monitoring its performance.
2. **Index and Public Key:** These identifiers help you locate and access your validator's information on the **gnosischa.in** website.
3. **Balance:** This shows your validator's current balance, in mGNO (1 GNO = 32 mGNO), including the initial 1 GNO stake and any accrued *Consensus Layer* rewards.  Amounts over 1 GNO are periodically sent to your Withdrawal Address. &#x20;
4. **Effective Balance:** This is the basis for calculating your *Consensus Layer* rewards and is capped at 1 GNO (32 mGNO).  If your validator is penalized and the balance drops below 1 GNO, the Effective Balance will also decrease.  Your validator can continue to validate even if your balance drops slightly below 1 GNO, though your rewards will be proportionally reduced.  Your validator will be "kicked out" of the network if the Effective Balance drops below 0.5 GNO (16 mGNO).
5. **Fee Recipient:** This is an Gnosis Address you can set to receive *Execution Layer* rewards.  It defaults to the Fee Recipient Address you provided during Gnosis Teku setup.  You can change this address for individual validators if needed.
6. **Withdrawals:** This indicates the status of your Withdrawal Address.  If set, withdrawals are `enabled`.  If not, it will show as `todo`.
7. **Status:** This displays the current status of your validator.  It will show as `pending_initialized` while the deposit is waiting to be recognized, `pending_queued` while waiting for activation, and `active_ongoing` once active.
8. **Trash Bin:** This removes the validator entry from the dashboard but does not delete it from the Beacon Chain.  It is useful for moving validators between Consensus Clients or machines.
9. **Exit Button:** This will show up once the validator becomes active.  Click this button when you decide to exit the validator.  For the detailed exit steps, see [Exit from a Gnosis Validator](/more-staking-opportunities/gnosis-staking/exit-from-a-gnosis-validator).

These elements help you monitor and manage your validators efficiently within the Gnosis Teku interface.


# Monitor Your Node

## The gnosischa.in Web Site

As a node operator, it is crucial to monitor the health and performance of your validators.  This involves maintaining high uptime and ensuring the timely and accurate production of attestations and proposals.  Monitoring your node is essential to ensure continuous rewards and to avoid penalties for inactivity or inefficiency.

[**gnosischa.in**](https://gnosischa.in/) is an open source Gnosis Beacon Chain explorer that provides valuable information about the real-time activities of the Gnosis Beacon Chain as a whole, as well as specific details about your validators.

One of the key features of **gnosischa.in** is the ability to set up push notifications. These notifications alert you to important validator events, such as missed attestations or assignment of proposal duties. By staying on top of these activities, you can maintain the active status of your validators and avoid any potential disruptions.

The gnosischa.in site for the Gnosis Beacon Chain is a fork of the beaconcha.in site for the Ethereum Beacon Chain.  All the features are the same.  To monitor a Gnosis node, you can refer to the guide on monitoring an Ethereum node and simply replace beaconcha.in with gnosischa.in.

* [**Monitor Your Node (Ethereum)**](/staking-ethereum/solo-staking-32-eth/monitor-your-node)

## Mobile App

The **beaconchain** mobile app ([link](https://gnosischa.in/mobile)) also doubles as the **gnosischain** app.  All you need to do is to switch the network setting, as illustrated below:

<figure><img src="/files/z3QbDEzwaW2kqNzj87P4" alt="" width="375"><figcaption></figcaption></figure>


# Rewards and Penalties

Being a validator in the Gnosis network comes with various responsibilities, rewards, and potential penalties.  In this guide, we break them down to help you better understand your staking performance on AVADO.

## Rewards

Your validators will receive **two** streams of rewards, on the Execution Layer and the Consensus Layer, respectively:

<table><thead><tr><th width="166"></th><th>Execution Layer</th><th>Consensus Layer</th></tr></thead><tbody><tr><td><strong>Purpose</strong></td><td>Maintain the global ledger of Gnosis transactions.</td><td>Maintain the integrity and security of Gnosis Proof of Stake consensus network.</td></tr><tr><td><strong>Validator</strong> <strong>Duties</strong></td><td>Produce blocks</td><td><ul><li>Produce attestations</li><li>Propose blocks</li><li>Participate in sync committees</li><li>Report slashings</li></ul></td></tr><tr><td><strong>Frequency of Duties</strong></td><td>Random</td><td><ul><li>Attestations: once every epoch</li><li>Proposer and sync committees: random</li><li>Slashing: by chance</li></ul></td></tr><tr><td><strong>Components of Rewards</strong></td><td>Transaction fee</td><td><ul><li>Attester fee</li><li>Proposer fee</li><li>Sync committee fee</li><li>Slasher fee</li></ul></td></tr><tr><td><strong>Size of Rewards</strong></td><td>Highly variable</td><td>Relatively predictable based on network conditions and set formulae</td></tr><tr><td><strong>Reward Token</strong></td><td><strong>xDAI</strong></td><td><strong>GNO</strong></td></tr><tr><td><strong>Distribution of Rewards</strong> </td><td>Immediate upon block production</td><td>Accrue on validator balance, then periodically "skimmed" by a sweep mechanism.  </td></tr><tr><td><strong>Destination of Rewards</strong></td><td><em>Fee Recipient Address</em></td><td>Claimable to <em>Withdrawal Address</em></td></tr></tbody></table>

### Where can I see the Execution and Consensus Rewards?

The **Charts** tab on gnosischa.in displays Execution and Consensus rewards in green and blue, respectively. &#x20;

<figure><img src="/files/fRvxywp4opH6GQtB1Prs" alt="" width="563"><figcaption></figcaption></figure>

In this example, the validator received some proposals and earned both Execution (green) and Consensus (blue) incomes.  The Execution income represents the reward for block production, while the Consensus income is a combined fee for attestations and block proposals.  These rewards are notably larger than the typical daily income earned solely from attestations.

## Where do the Rewards Go?

Let's re-revisit [The Gnosis Staker's Journey](/more-staking-opportunities/gnosis-staking) diagram for better context:

<div data-full-width="true"><figure><img src="/files/3URYO9JXLqxbpEahelcs" alt=""><figcaption></figcaption></figure></div>

### Fee Recipient Address

**Execution Layer** rewards (in **xDAI**) are directed to the **Fee Recipient Address**.

Recall that you can set a default Fee Recipient Address for all your validators, and you can change the Fee Recipient Address any time for individual validators if you wish.  See: [Set Default Fee Recipient Address](/more-staking-opportunities/gnosis-staking/setting-up-the-gnosis-clients#step-3-set-fee-recipient-address-in-gnosis-teku). &#x20;

The Fee Recipient Address is only relevant when your validator is assigned to produce a block and receives **transaction fees**.  Transaction fees are payments made by Gnosis users to validators for including their transactions. &#x20;

The xDAI rewards are immediately available once a block proposal is made.

### Withdrawal Address

**Consensus Layer** rewards (in **GNO**) are accrued to the **Withdrawal Address**.

Recall that you have the option to set a Withdrawal Address in the following ways:

* Initially during the [**Key Generation**](/more-staking-opportunities/gnosis-staking/generate-keys-gnosis#gnosis-withdrawal-address) process.  If you used the Gnosis Wagyu Key Gen software, you had the opportunity to set the Withdrawal Address and include it in the deposit data file when making the GNO deposit.
* At any later time using tools like [**AVADO's Withdrawal Address Tool**](/more-staking-opportunities/gnosis-staking/set-withdrawal-address): You will need to use your 24-word secret recovery phrase for this purpose.

The Withdrawal Address can only be set once and cannot be changed.  You can verify the status of your Withdrawal Address by visiting your Validator Page on the gnosischa.in website and checking under the [**Deposits**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#deposits) tab.  Once a Withdrawal Address has been set, you should see *withdrawal credentials* that start with `0x01`.

If you have set up a Withdrawal Address, your Consensus Layer rewards (validator balance above 1 GNO) will be periodically transferred, or "skimmed", from the Beacon Chain to your Withdrawal Address.  These are known as **partial withdrawals**, and happen periodically on "validator sweep". &#x20;

{% hint style="info" %}
**GNO Rewards need to be manually claimed**

Unlike Consensus Rewards on Ethereum which are automatically sent to the Withdrawal Address, the Consensus Rewards on Gnosis Chain (in GNO) are initially sent to the Gnosis Chain Deposit Contract.  These rewards are then available to be claimed manually.

See below for instructions on how to claim these rewards.
{% endhint %}

### Validator Sweep

The process of scanning validators for withdrawals occurs sequentially, starting from the validator with index number 0 and progressing in one direction like a clock hand.  When the last validator is reached, the sweep process starts over again from the beginning.

During the sweep process, each validator's account is evaluated for potential partial or full withdrawals.  The time it takes for the sweep to reach a specific validator and process their withdrawal depends on the total number of validators on the network.

### Withdrawal History

To access the full history of withdrawals processed for your validator and check the expected timing of the next withdrawal, you can navigate to the [**Withdrawals**](/staking-ethereum/solo-staking-32-eth/monitor-your-node#withdrawals) tab on your Validator Page on gnosischa.in.

Alternatively, you can find the same information by searching for your Withdrawal Address on [**gnosisscan**](https://gnosisscan.io/).  Please note that withdrawals are not regular Gnosis transactions and will not appear under the **Transactions** tab.  Instead, you need to look under the **Withdrawals** tab on gnosisscan to locate them.  Additionally, you will observe a corresponding increase in your GNO balance when withdrawals are processed.

<figure><img src="/files/ZoOSOfzyyDXeivONDuM8" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Withdrawals are **not** regular Gnosis transactions.  They do not show up under the **Transactions** tab on gnosisscan.  Instead, look under the **Withdrawals** tab to find them. &#x20;
{% endhint %}

## Claiming the GNO Rewards

Unlike Consensus Rewards on Ethereum which are automatically sent to the Withdrawal Address, the Consensus Rewards on Gnosis Chain (in GNO) are initially sent to the Gnosis Chain Deposit Contract. These rewards are then available to be claimed manually. &#x20;

There are two options to claim these rewards:

### Option 1: Claim on the Gnosis Chain Deposit Site

1. Visit the [**Gnosis Chain Deposit Site**](https://deposit.gnosischain.com/) (this is the same web site for the initial deposit of 1 GNO).&#x20;
2. Connect your wallet hosting the Withdrawal Address.&#x20;
3. Go to the **Autoclaim Rewards** tab.  Your claimable balance will be shown.
4. You can click **Manual claim** to make a one-time manual claim of the balance.  Sign the transaction on your wallet.  Once the transaction goes through, the GNO balance shall immediately become available at your Withdrawal Address.
5. Alternatively, you can also set up **Automated claim** with your preferred frequency and threshold, to do this automatically.

<figure><img src="/files/zENe039NvaCZRr3PnYjw" alt="" width="563"><figcaption></figcaption></figure>

### Option 2: Claim by Interacting with the Gnosis Chain Deposit Contract

You can claim your GNO rewards by manually calling the `claimWithdrawal(address)` or `claimWithdrawals(addresses)` methods in the [**Gnosis Chain Deposit Contract**](https://gnosisscan.io/address/0x0B98057eA310F4d31F2a452B414647007d1645d9#writeProxyContract).

<figure><img src="/files/Vco1Wk71ylgTTntBuxIp" alt=""><figcaption></figcaption></figure>

1. Visit the [**Gnosis Chain Deposit Contract**](https://gnosisscan.io/address/0x0B98057eA310F4d31F2a452B414647007d1645d9#writeProxyContract) on gnosisscan.io.
2. Click on the **Contract** tab, then navigate to the **Write as Proxy** sub-section.
3. Click **Connect to Web3** to connect your wallet.  You can use any wallet for this purpose; it doesn't have to be your Withdrawal Address as anyone can trigger a withdrawal claim.
4. In the contract interface, locate the [`claimWithdrawal`](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract#F3) method.  Enter the Withdrawal Address for which you want to claim rewards.  If you have multiple addresses to claim, format them as an array, like `[address1, address2, address3]` and use the [`claimWithdrawals`](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract#F4) method instead.  Remember to include the square brackets and replace `address1` etc. with the actual Gnosis addresses.
5. Click the **Write** button and confirm the transaction on your wallet.
6. Once the transaction is confirmed and included in a block, you should see the GNO tokens transferred to your Withdrawal Address.

## Penalties

Validators are penalized for small amounts of GNO if they are offline and fail to perform their assigned duties.  The penalties are comparable to the rewards for the same period of time.

<table><thead><tr><th width="265">Missed Duties</th><th>Panelties</th></tr></thead><tbody><tr><td><strong>Missed Attestations</strong></td><td><ul><li>The penalties for missing the <strong>target</strong> and <strong>source</strong> votes are equal to the rewards the attester would have received had they submitted them.  This means that instead of having the reward added to their balance, they have an equal value removed from their balance.  </li><li>No penalty for missing the <strong>head</strong> vote (i.e. head votes are only rewarded, never penalized).  </li><li>No penalty associated with the inclusion delay - the reward will simply not be added to the validator's balance. </li></ul></td></tr><tr><td><strong>Missed Proposals</strong></td><td><ul><li>No penalty for failing to propose a block.  You simply lose the rewards (on both Execution and Consensus Layers).</li></ul></td></tr><tr><td><strong>Missed Sync Committees</strong></td><td><ul><li>There is no penalty for missing a sync committee (except the lost rewards)</li></ul></td></tr></tbody></table>

{% hint style="info" %}
**Penalties are not the same as Slashing**

In any case, the **penalties** are small amounts of GNO that are approximately equal to the rewards the validator would have received if they had not missed their duties. &#x20;

**Penalties are not the same as slashing!**  Read on for more details.
{% endhint %}

## Slashing

Slashing is reserved for more serious offenses.  Validators can be slashed for actions such as double signing or other malicious behavior that compromises the security and integrity of the network.  In these cases, 1/32 of a validator's staked GNO is immediately burned, and the validator enters a removal process from the chain.

Realistically, the only condition that can cause a slashing is if you run your validator's keys on two nodes at the same time (such as running more than one AVADO, *and* loading the same keys into both).  Don't let this happen, and **you won't get slashed**. &#x20;

Missing attestation duties do not result in slashing.


# Set Withdrawal Address

To configure the withdrawal address for a Gnosis validator, you can utilize AVADO's **ETH Withdrawal Address Tool**.  The only difference from the Ethereum process is that you need to configure the network environment variable first.

<figure><img src="https://docs.ava.do/packages/ethdo/dappstore.jpg" alt="" width="375"><figcaption></figcaption></figure>

## Steps <a href="#steps" id="steps"></a>

1. Install the ETH Withdrawal Address Tool.
2. Switch the network from Ethereum’s `mainnet` to `gnosis`:
   * Open the **Management Page** (via the My Dapps menu)
   * In the **Environment variables** section, replace the `NETWORK` value from `mainnet` to `gnosis` and click **Update environment variables**.

<figure><img src="https://docs.ava.do/packages/gnosis/ethdo_network.png" alt=""><figcaption></figcaption></figure>

3. Open the DApp.  Confirm that the Withdrawal Address Tool is connected to the Gnosis Chain.

<figure><img src="https://docs.ava.do/packages/gnosis/ethdo_gnosis.png" alt=""><figcaption></figcaption></figure>

4. Follow the same instructions for setting the Withdrawal Address for Ethereum validators, starting from [**Step 2**](/staking-ethereum/solo-staking-32-eth/set-withdrawal-address#step-2-check-your-keys).


# Exit from a Gnosis Validator

Exiting from a Gnosis validator means removing your validator from active duties and unstaking the 1 GNO from the beacon chain.  You will stop earning any consensus or execution rewards.  Your 1 GNO stake will be held on the Gnosis Chain Deposit Contract, and *claimable* to your **Withdrawal Address**.

## Before you Begin

1. Ensure that your node is fully synced before initiating the exit process.
2. Set a Withdrawal Address.  If you have been regularly receiving rewards above 1 GNO from the validator, your Withdrawal Address is already set.  If not, follow this [guide](/more-staking-opportunities/gnosis-staking/set-withdrawal-address) to set your Withdrawal Address.  Complete this step before proceeding.

## Step 1: Initiate the Validator Exit

In [**Gnosis Teku**](http://my.ava.do/#/Packages/teku-gnosis.avado.dnp.dappnode.eth), locate the "exit" icon on the far right of the line.

<figure><img src="/files/CY8TS90qZTV4LGgcQuoO" alt=""><figcaption></figcaption></figure>

Click this button to initiate the exit and confirm the action as follows. &#x20;

<figure><img src="/files/FbhU2V7XU9JVylMPyNn5" alt="" width="563"><figcaption></figcaption></figure>

Once initiated, you don't need to do anything further.  Sit back and wait for the following steps to happen automatically.

## Step 2: Wait for the Validator to Exit

After initiating the validator exit, the following events will occur:

* Gnosis Teku will broadcast a message to the beacon chain to signal your intention to exit.
* A few minutes later, gnosischa.in will display a flashing green "exited" state. &#x20;
* The exit epoch is at least 4 epochs later, plus the period you need to wait in the exit queue.&#x20;
* On the validator dashboard, the status will change from `active_ongoing` to `active_exiting`.

<figure><img src="/files/mlVBvLCYZnCE4INIjzJb" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/qNXKyKhDTKwKgqrImNj3" alt=""><figcaption></figcaption></figure>

Once your validator reaches the "exit epoch":

* gnosischa.in shows a solid green "exited" state.
* The display message will indicate the expected epoch when the balance becomes "withdrawable".
* On the validator dashboard, the status becomes: `exited_unslashed`.

<figure><img src="/files/q5WQss4Bkxpf9OUdayER" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/KYirZxSDSRWig4UTdEXL" alt=""><figcaption></figcaption></figure>

## Step 3: Claim the GNO

Once your validator balance becomes withdrawable, you have two options to claim your GNO stake and accrued rewards on the Gnosis Chain:

1. [**Gnosis Chain Deposit Site**](/more-staking-opportunities/gnosis-staking/rewards-and-penalties#option-1-claim-on-the-gnosis-chain-deposit-site): Visit the Gnosis Chain Deposit Site and follow the same process as claiming partial withdrawals.  You will be able to claim your GNO stake and rewards through the user-friendly interface provided on the site.
2. [**Manual Claim via Gnosis Chain Deposit Contract**](/more-staking-opportunities/gnosis-staking/rewards-and-penalties#option-2-claim-by-interacting-with-the-gnosis-chain-deposit-contract): Alternatively, you can manually claim your GNO stake and rewards by interacting directly with the Gnosis Chain Deposit Contract.  The process for manual claiming is the same as claiming partial withdrawals.

Please refer to the section on [**Claiming the GNO Rewards**](/more-staking-opportunities/gnosis-staking/rewards-and-penalties#claiming-the-gno-rewards) for details.


# Avalanche Staking

## What is Avalanche? <a href="#what-is-avalanche" id="what-is-avalanche"></a>

Avalanche is an open-source platform for launching highly decentralized applications, new financial primitives, and new interoperable blockchains.

> Avalanche is an open-source platform for launching decentralized finance applications and enterprise blockchain deployments in one interoperable, highly scalable ecosystem. Developers who build on Avalanche can easily create powerful, reliable, and secure applications and custom blockchain networks with complex rulesets or build on existing private or public subnets.\
> (Source: [CoinGecko.com](https://www.coingecko.com/nl/coins/avalanche))

Avalanche is built by [Avalabs](https://www.avalabs.org/why-avalanche).

## Why? <a href="#why" id="why"></a>

1. Stake your crypto to earn rewards (Proof Of Stake Blockchain nodes)
2. Developers who build on Avalanche can easily create **powerful**, **reliable**, and **secure** **applications** and **custom blockchain networks** with complex rulesets or build on existing private or public subnets.

## Who? <a href="#who" id="who"></a>

You can use the Avado all-in-one package when:

* you want to stake AVAX tokens as a **delegator** or a **validator**
* you want to run an Avalanche Node
* use the Avalanche web wallet

## Financials <a href="#financials" id="financials"></a>

You’ll need a minimum of **2000 AVAX** tokens to start a validator. [Current value](https://coinmarketcap.com/currencies/avalanche/).&#x20;

If you do have some AVAX tokens (minimum 25 AVAX tokens), but less than the required minimum of 2000, you can alwasy delegate these tokens to an existing validator with this same package. Contact that trusted party.

## Setting up Avalanche node <a href="#setting-up-avalanche-node" id="setting-up-avalanche-node"></a>

How to install and run it:

1. Go to: “DAppStore” > Other P.o.S. Nodes
2. Select: “Avalanche Staking”&#x20;

<figure><img src="/files/g35Wvl9TOaKK9cs27LNN" alt=""><figcaption></figcaption></figure>

1. A new screen will show
2. Click the “INSTALL” -button
3. Wait … (a bit) > “OK - Starting download” > “adding avalanchego…”\
   Let the installer do the work.
4. You’re all set!
5. Depending on your computing power and bandwidth, it may take a while to bootstrap and sync. Please be patient while the Avado does the heavy lifting.

### Use the Core Wallet and Stake UI <a href="#double-check" id="double-check"></a>

Now that your Node is running you need to add your NODE ID to a Wallet and start staking.

For this you will need to install the chrome extension of Core in your browser: <https://chromewebstore.google.com/detail/core-crypto-wallet-nft-ex/agoakfejjabomempkjlepdflaleeobhb>

Make sure the Core extension is connected to Core web and navigate to Stake (<https://core.app/stake/>)

Please follow this documentation from AVAX on how to start Staking: <https://support.avax.network/en/articles/8117267-core-web-how-do-i-validate-in-core-stake>

### Double check <a href="#double-check" id="double-check"></a>

1. Check the logs of this package to check if everything is working.
2. Click on “show node logs”.
3. Scroll down. You should see no errors.

### Editing the information after installation <a href="#editing-the-information-after-installation" id="editing-the-information-after-installation"></a>

1. Go to “DappStore”
2. Select “Avalanche node”
3. Click on “DETAILS”
4. Click on “CONFIGURE PACKAGE" > to view the Node Info
5. OR Click on “MANAGE PACKAGE" > e.g. to view the logs

## More information <a href="#more-information" id="more-information"></a>

* <https://www.avalabs.org/>
* <https://docs.avax.network/> : avalanche documentation
* <https://explorer.avax.network/validators> : avalanche active validators


# Qtum Staking

## What Is QTUM? <a href="#what-is-qtum" id="what-is-qtum"></a>

See: <https://qtum.org/en>

## How to stake QTUM on Avado <a href="#how-to-stake-qtum-on-avado" id="how-to-stake-qtum-on-avado"></a>

{% embed url="<https://youtu.be/_iVjyit5y4w>" %}

In this video, we show you how to easily stake Qtum on your own Qtum node.

## Investment Required <a href="#investment-required" id="investment-required"></a>

No Minimum Amount of QTUM staked

### Lockup Period: <a href="#lockup-period" id="lockup-period"></a>

Zero

### Financial Return: <a href="#financial-return" id="financial-return"></a>

Annual ROI: Currently \~8%

For latest ROI go to: <https://qtum.info/misc/toolbox/stake-calculator>

## More information <a href="#more-information" id="more-information"></a>

For more information on how QTUM Staking works:

* <https://blog.qtum.org/qtum-staking-guide-when-block-reward-4c01ea9f789b>
* [Avado Qtum AMA Page](https://medium.com/avado-node/ama-session-avado-and-qtum-df4bb8dd7fbd)

## Unstaking your QTUM <a href="#unstaking-your-qtum" id="unstaking-your-qtum"></a>

Steps (on your computer):

1. On the [Avado Qtum UI](http://my.ava.do/#/Packages/qtum.avado.dnp.dappnode.eth), click the **Download Wallet backup** button. This downloads a `qtum-wallet.dat` file.
2. Download and install the [Qtum Core wallet](https://qtum.org/use-qtum/qtum-wallet).
3. Start the Qtum Core wallet application.
4. Click **File > Load Wallet Backup…**, select `qtum-wallet.dat`
5. Next, you can send your qtum to a different wallet.

Here is a video by Matt Long explaining the process in more in detail:

{% embed url="<https://youtu.be/wOMgDHI5jy8>" %}


# Frequently Asked Questions

## General

<details>

<summary>I can't connect to the AVADO.  What can I do?</summary>

See here: [Connection Troubleshooting](/quick-help/connection-troubleshooting)

</details>

<details>

<summary>My disk is full.  What can I do?</summary>

If you're running an Execution Client (**Geth** or **Nethermind**), chances are that over time the Execution Client has accumulated some junk data and has become "bloated".  The easiest solution is to remove and reinstall the Execution Client.  By doing so, you will also benefit from the disk space optimizations introduced in the latest versions.

* Navigate to Geth or Nethermind's [Management Page](http://my.ava.do/#/Packages/ethchain-geth.public.dappnode.eth/detail)
* Click **Remove** to remove the package
* Go to [**System**](http://my.ava.do/#/system) menu, and click **Disk Cleanup**
* Go to the **Dapp Store**, locate your Execution Client package, and click **Install**.  Let it resync from scratch.  See [Syncing the Execution Client](/staking-ethereum/setting-up-the-eth-clients/syncing-the-execution-client) to understand the details of the syncing process.&#x20;

This will reduce the bloat and buy you some time before your disk runs full again.

However, if you have the i7-2TB model, as the blockchain data grows your disk will become full again very soon.  AVADO now offers a 4TB upgrade option for the i7.  See [announcement](https://discord.com/channels/888744455987929119/1057721630891192401/1214578248223039601) on AVADO Discord.  You can place your order [here](https://ava.do/shop/4tb-upgrade/).

Please note, this upgrade is exclusive to i7 users.  The disk is incompatible with other AVADO devices or any Mini PC outside of the i7 model.

</details>

<details>

<summary>My device gets very hot at times.  Should I be worried?</summary>

The device dissipates its heat through the metal casing and the grill on the top of the device - so it is normal that this area gets hot because of this.

However, during the initial sync of any of the blockchain networks, your box needs to work at 100% CPU capacity for many hours and as a consequence the device can get quite hot.

This is only a temporary situation until the chain is fully synced, and then it will return to a normal CPU load - and temperature.

To protect your AVADO:

* put a fan on top of the device to cool it down.  Any small breeze of air will already cool it down to room temperature.
* point a desktop fan to the device
* putting a PC fan on top of it - you can power these using one of the unused USB ports.

See [Protect your AVADO](/your-avado/welcome-to-avado/protect-your-avado) for additional measures to protect your device.

</details>

<details>

<summary>Where can I find support?</summary>

Sign up to [**AVADO Discord**](https://discord.gg/RpMaFjTjyw) to join a vibrant community of AVADO users and support specialists.  Mint the AVADO NFT to enjoy full access to the Discord channels.  See step-by-step instructions here: [AVADO Support Community](/your-avado/avado-support-community)

</details>

<details>

<summary>How do I "raise a ticket"?</summary>

On [**AVADO Discord**](https://discord.gg/RpMaFjTjyw), navigate to the [**#new-joiners**](https://discord.com/channels/888744455987929119/1055440867978121246/1085977917001052190) channel and locate the **Ticket Tool**.  Click **Create ticket** to start a conversation with AVADO's support specialists.  Please note that the team monitoring the tickets is located in Europe.  Your timezone might be different.

</details>

<details>

<summary>I had minted the AVADO NFT but I can't find it anymore.  Where is it?</summary>

It is on the Gnosis (formerly xDAI) chain.  You can use the Gnosis Chain Explorer (<https://gnosisscan.io/>) to look up your address.  Check under the **ERC721 Tokens Txns** tab, and look for **AVADO NODE NFT (AVDO)** token.

See [The AVADO NFT - FAQ](/your-avado/welcome-to-avado/the-avado-nft#faq) for additional questions and answers relating to the AVADO NFT.

</details>

<details>

<summary>Can I point my Metamask to the AVADO?</summary>

See here: [Using Metamask with your AVADO](/quick-help/use-metamask-with-your-avado)

</details>

<details>

<summary>I need to move my AVADO to another location.  What is the procedure?</summary>

If you are simply relocating your AVADO from one place to another, for example when you're moving home, follow these steps:

* Shut down the AVADO using the **System** > **Shutdown** option.  Avoid pressing the power button or pulling the plug to forcibly turn the device off.  By using the System > Shutdown option, the running DApps will have a chance to gracefully exit in a clean state, minimizing the chance of data corruption.
* When you're ready, plug in the machine at the new location.
* The DApps will automatically start and pick up where they left off.  There will be a short resync process for the Execution and Consensus Clients to catch up on changes on the blockchain.  Monitor the DApps and their Logs to ensure that they are connected to peers, and are syncing smoothly.

</details>

<details>

<summary>What if my AVADO is stolen?</summary>

In the unfortunate event of your AVADO being stolen, it is important to be aware of the potential consequences and take appropriate action:

1. **Missing attestations:** The perpetrators are unlikely to run your validators, resulting in penalties.  If your balance falls below 16 ETH, you will be forced out of the network.
2. **Theft of future Execution Layer rewards:** The thieves can change the Fee Recipient Address and steal your tips/MEV-boost rewards (if and when you get a proposal).
3. **Risk of slashing:** They can maliciously double attest using your keys, leading to slashing penalties without benefiting themselves.
4. **Potential theft in Rocketpool:** If you use Rocketpool, they can steal the coins in your hot wallet.
5. **Security of your 32 ETH stake:** Fortunately, they cannot steal your 32 ETH stake if you have already set a withdrawal address and that address remains uncompromised.

To mitigate the situation, follow these steps:

1. Locate your keystore file(s), or regenerate them from your mnemonic phrase if needed.  See [here](/staking-ethereum/solo-staking-32-eth/generate-keys/re-generate-or-generate-more-keys).
2. Find an alternative means to quickly set up your node again, such as using a replacement machine, someone you trust; or raise a [ticket](https://discord.com/channels/888744455987929119/1055440867978121246/1085977917001052190) in AVADO Discord for support.
3. Exit your validator(s) from the alternative setup.
4. Retrieve your 32 ETH stake to your designated Withdrawal Address.
5. Move forward and take necessary precautions to enhance the security of your setup.

By following these steps, you can minimize the impact of the theft and continue participating in the network securely.

</details>

## Ethereum Staking

<details>

<summary>My validator has stopped attesting.  What can I do?</summary>

See here: [Attestation Troubleshooting](/quick-help/attestation-troubleshooting)

</details>

<details>

<summary>What if I am staking Ethereum and my node goes down?  Will I get slashed?</summary>

No. &#x20;

If your validators stop working and miss attestations, you will incur some small **penalties**.  The penalties are small amounts of ETH that are approximately equal to the rewards the validator would have received if they had not missed their duties.  For example, the penalties for missed attestations amount to about 5 USD per validator per day (as of April 2024).

Penalties are not the same as "slashing".

**Slashing** is reserved for more serious offenses.  Validators can be slashed for actions such as double signing or other malicious behavior that compromises the security and integrity of the network.  Slashing results in a reduction of the validator's stake, typically at the level of 1 ETH.

Missing attestation duties do not result in slashing.

</details>

<details>

<summary>My validators are attesting but beaconcha.in says I have low effectiveness.  Why?</summary>

The Effectiveness is a combined measure of your validator's **online presence**, **correctness**, and **timeliness**, averaged across a recent time period.

If your validators have been offline, the Effectiveness will drop.

If your validators are consistently attesting but demonstrating low Effectiveness, it is often due to larger than usual [Inclusion Distances](/staking-ethereum/solo-staking-32-eth/monitor-your-node#attestations).  This is an indication of poor peer connectivity.  To improve this situation, you may want to consider [Opening Network Ports on your Router](/quick-help/opening-network-ports).  This can help enhance the connectivity and communication between your validators and the network, potentially leading to improved attestation effectiveness.

</details>

<details>

<summary>How can I improve attestation performance?</summary>

Given that Attestation Effectiveness is a measure of your validator's **online presence**, **correctness** and **timeliness**, follow the following best-practice guide lines:

* **Utilize a UPS (Uninterruptible Power Supply):** Reduce the risk of disruptions caused by power glitches.  See [here](/your-avado/welcome-to-avado/protect-your-avado#power-surges). &#x20;
* **Use fast network:** Having good and fast peer connectivity is crucial for accurately following the blockchain and producing correct and timely attestations. In the event that a problem occurs and a resync is required, a fast network allows for a much quicker recovery.
* **Ensure proper ventilation:** Heat poses a significant threat to SSDs.  Overheating can lead to throttling or even complete failure.  To prevent such issues, it is recommended to maintain good ventilation for your AVADO.  Use a fan *all the time* to keep it cool.  See [here](/your-avado/welcome-to-avado/protect-your-avado#overheating).
* **Configure port forwarding:** It is essential to set up port forwarding on your router for optimal connectivity.  See [Opening Network Ports](/quick-help/opening-network-ports) for how to do this.  By opening these ports, you enable both inbound and outbound peer connections, enhancing your connectivity and ensuring the ability to follow the blockchain accurately.  This improves your chances of making correct and timely attestations.
* **Enable push notifications on the beaconcha.in mobile app:** This feature ensures that you receive timely alerts for validator events, such as missed attestations or validators going offline.  By enabling these notifications, you can avoid extended downtime and promptly address any issues that may arise.  See [here](/staking-ethereum/solo-staking-32-eth/monitor-your-node#subscribing-to-notifications) for detailed instructions.

</details>

<details>

<summary>Where do my validation rewards go?</summary>

Refer to the following to understand where your validation rewards go:

* [Solo Stakers](/staking-ethereum/solo-staking-32-eth/rewards-and-penalties)
* [Rocketpool Stakers](/staking-ethereum/rocketpool-8-or-16-eth/rocketpool-rewards)
* [Gnosis Stakers](/more-staking-opportunities/gnosis-staking/rewards-and-penalties)

</details>

<details>

<summary>I haven't got a proposal for a long time.  How can I improve my chance?</summary>

From [EthStaker Knowledge Base](https://docs.ethstaker.cc/ethstaker-knowledge-base/rewards/proposal-frequency):

**It's random**

How often a validator receives block proposals, and is selected to be part of a sync committee, is entirely random.  As long as you do not see missed proposals, there is absolutely nothing you can do to increase the frequency.

True randomness can feel quite odd.  A validator not getting a proposal for 9 months is perfectly normal.  A validator getting two proposals in a week is entirely normal.  Over a large enough set, this evens out, but for a handful of validators, randomness can indeed feel unsettling.

**Is there really nothing I can do?!?**

No, it's random.  There is nothing you can do to increase your chances at proposals, short of running more validators

</details>

<details>

<summary>Is there a step-by-step guide to switch from Geth to Nethermind?</summary>

Here you go:

1. Remove Geth
2. Install Nethermind, let it sync.  See [Syncing the Execution Client - Nethermind](/staking-ethereum/setting-up-the-eth-clients/syncing-the-execution-client/nethermind) to understand the details of the syncing process.&#x20;
3. Remember to toggle the **Execution Engine** setting in your Consensus Client (Teku, Prysm or Nimbus):

<img src="/files/1o8FsuK9oLtZBySYYsXK" alt="" data-size="original">

</details>

<details>

<summary>How do I switch from Prysm to Teku, or vice versa?</summary>

See here: [Switching from Prysm to Teku, etc.](/quick-help/switching-from-prysm-to-teku-etc.)

</details>

<details>

<summary>How do I set a Withdrawal Address?</summary>

For Solo Stakers:

* It is best to set the Withdrawal Address at the same time when you generate your staking keys.  For detailed instructions, Ethereum Stakers see [here](/staking-ethereum/solo-staking-32-eth/generate-keys#ethereum-withdrawal-address), Gnosis Stakers see [here](/more-staking-opportunities/gnosis-staking/generate-keys-gnosis#gnosis-withdrawal-address).
* Alternatively, with the 24-word secret recovery phrase, you can set the Withdrawal Address using AVADO's ETH Withdrawal Address Tool.  For detailed instructions, Ethereum Stakers see [here](/staking-ethereum/solo-staking-32-eth/set-withdrawal-address), Gnosis Stakers see [here](/more-staking-opportunities/gnosis-staking/set-withdrawal-address).

For Rocketpool Stakers:

* The AVADO Rocketpool DApp will guide you to set the Rocketpool Withdrawal Address during the initial setup.  For detailed instructions, see [here](/staking-ethereum/rocketpool-8-or-16-eth/setting-up-a-rocketpool-node#step-4-set-a-rocketpool-withdrawal-address).

</details>

<details>

<summary>How do I exit my validator?</summary>

Refer to the following sections in the Documentation for detailed instructions:

* [Solo Stakers (Ethereum)](/staking-ethereum/solo-staking-32-eth/exit-from-a-solo-validator)
* [Rocketpool Stakers](/staking-ethereum/rocketpool-8-or-16-eth/exit-your-minipools)
* [Solo Stakers (Gnosis)](/more-staking-opportunities/gnosis-staking/exit-from-a-gnosis-validator)

</details>

<details>

<summary>I've lost my keystore files.  What can I do?</summary>

See here: [Re-generate or Generate More Keys](/staking-ethereum/solo-staking-32-eth/generate-keys/re-generate-or-generate-more-keys)

</details>


# Connection Troubleshooting

Common Connection Issues and Solutions

## Check Internet / Router Connection

Perform the following troubleshooting steps to ensure that your AVADO is properly connected to your router and to the internet.

### **👉** Check your internet connection

Ensure that your AVADO device is connected to a stable and reliable internet connection.  Verify that other devices are able to connect to the internet without any issues.

### **👉** Check if the network lights are on and blinking

Make sure that the network lights are ON and blinking on the AVADO.  The network lights are the orange and green LED’s next to the network plug on the AVADO device.  Usually one of the two blinks while the other is on permanently.

If this is not the case either plug your AVADO into another port of your router or try with another network cable.

### **👉** Change router port <a href="#change-router-port" id="change-router-port"></a>

If any reconfiguration on the router has been done, it sometimes helps to plug in the network cable into a different free network port on your router.  This will trigger the router and the AVADO to re-negotiate their network connection and might solve connectivity issues.

### **👉** Swap the network cable <a href="#swap-the-network-cable" id="swap-the-network-cable"></a>

Swapping out the network cable for another one also has been reported to help in the rare case that you have a faulty cable.

***

## Disable VPN Software

Disable any VPN and VPN-like software you might have running on your computer.  Examples are: NordVPN, iCloud Private Relay (for Mac and iOS), or Cloudflare's 1.1.1.1 with WARP service.&#x20;

Even if you don’t have an active connection, the software might still interfere with your Wi-Fi or remote connection software to the AVADO. &#x20;

If everything else fails, uninstall your VPN software to rule this out.

***

## No Wi-Fi Signal&#x20;

If you cannot see the AVADO SSID at all, it is possible that the AVADO Wi-Fi is not functioning, or the AVADO has not started properly.  Follow the following steps.

### **👉** Check internet / router connection

Note that the AVADO Wi-Fi won't start without an internet connection.  See [here](#check-internet-router-connection) first.

### **👉** Check the antennae

For the i7 model with external antennae, check that they are securely screwed on.

### **👉** Check with another device

Do you have another device (computer / tablet / phone) handy?  Try to see if you can detect the AVADO Wi-Fi from another device.

### **👉** Restart the router

Try restarting your router by unplugging it and waiting 15 seconds and then plugging it back in.  Wait for it to restore your internet connection.  Then check to see if you have the AVADO Wi-Fi signal.

### **👉** Restart the AVADO

Sometimes the device may have "hung up", or there may be other issues that prevent it from proper functioning.

Try a **hard reboot**: Press the power button for a few seconds until the blue light goes out.  Use the power button for this purpose.  Avoid pulling out the plug or otherwise cut the electricity supply to the device, to avoid hardware damage.

Wait a few seconds, then press the power button again to restart the device.  Check the network connectivity again.

### **👉** Check for hardware fault

Attach an HDMI monitor and a USB keyboard to the AVADO to check for hardware fault.&#x20;

This is useful as a diagnostic tool to confirm or rule out a hardware fault.  Find a screen with HDMI input (tip: use your TV if you don’t have a monitor) and attach an HDMI cable to your AVADO.  Get a USB keyboard and attach it to any of the USB ports of your AVADO.  Make sure your AVADO is connected to the internet before proceeding.

If your AVADO is functioning normally, you should see a login prompt displayed on the screen. The prompt will look like this:

`AVADO login: _`

There should be no other error messages displayed.

However, if there is a hardware fault, such as a failed SSD drive, you may encounter multiple error messages or the device may get stuck at the boot screen.

{% tabs %}
{% tab title="Boot Error Example 1" %}

<figure><img src="/files/bs9BvfpqxSKUXETbYqP0" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Boot Error Example 2" %}

<figure><img src="/files/jO4g5U9pmS6BmhtqumU0" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

If unfortunately this happens, raise a [ticket](https://discord.com/channels/888744455987929119/1055440867978121246/1085977917001052190) at AVADO Discord for support.

### **👉** Reset the BIOS

Often there can be small issues caused by actions made since the factory install.  By resetting the BIOS it restores the AVADO to the default factory settings that were designed for everything to function optimally.  It can often be all that is needed to resolve a problem.

See: [Resetting your BIOS](/quick-help/resetting-your-bios)

***

## Wi-Fi connected, but stuck on the loading screen&#x20;

In some cases, you may experience a situation where the AVADO Wi-Fi appears to be connected, but the device gets stuck on a "loading" screen without making any progress.  Here are some examples:

{% tabs %}
{% tab title="Scenario 1" %}

<figure><img src="/files/uixoLSFwHIGGszVHTRqg" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Scenario 2" %}

<figure><img src="/files/z9z0qTm5dh7Te4hIHIFt" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Scenario 3" %}

<figure><img src="/files/JKzY7wJa9NXyAJtJfVwA" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

Here are some possible steps to address this issue:

### **👉** Check internet / router connection

Ensure that your AVADO device is connected to a stable and reliable internet connection.  Verify that other devices are able to connect to the internet without any issues.  Go through the checklist [here](#check-internet-router-connection).

### **👉** Disable VPN Software

Make sure you do not have any VPN or VPN-like software running on your computer, such as NordVPN, or iCloud Private Relay (for Mac and iOS).  See [here](#disable-vpn-software).

### **👉** Check with another device

Do you have another device (computer / tablet / phone) handy?  Try to see if you can connect from another device.

### **👉** Check the wi-fi network settings on your device

The AVADO Wi-Fi connects to a local network with IP addresses that start with `172.33.12.xxx`.  You can verify if this is correct on your device.  The following screenshots are taken from the Mac; it should work similarly on Windows.

{% tabs %}
{% tab title="Step 1" %}
You should see the Wi-Fi connection to the AVADO network (in this screenshot it is renamed to AVADO-i5 - yours will be called AVADO by default)

<figure><img src="/files/Rohyc9CKB2h0nHUH63OX" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Step 2" %}
Then click on the **Advanced** button and verify if you have an **IPv4 Address** that is in the range `172.22.12.xxx`

<figure><img src="/files/0lmeljgvy0THsXaUXBNa" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Step 3" %}
Then go to the **DNS** tab and verify if you have exactly this setting.  There should be only one DNS server and it should be `172.33.1.2`

<figure><img src="/files/rlxyYG7ZRsRNJStSWXXE" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

If all that is the case you should be able to access the <http://my.ava.do/> URL that leads you to the AVADO admin page.

***

## Cannot connect via ZeroTier&#x20;

Assuming you have already set up the Remote Connect package on your AVADO device and have installed the ZeroTier app on your computer, tablet, or phone, you may encounter an issue where you are unable to establish a connection via ZeroTier.  If you find that you are stuck at a status of "REQUESTING\_CONFIGURATION", it indicates a problem with the ZeroTier connection.

<figure><img src="/files/kqlR8ubCz7gmTrfeXOej" alt="" width="375"><figcaption></figcaption></figure>

### **👉** Connect to your Home Wi-Fi, not AVADO Wi-Fi

Make sure you are connecting to your **Home Wi-Fi**, not the AVADO Wi-Fi, when you are trying to connect using Remote Connect + ZeroTier.

### **👉** Disable VPN software

Make sure you do not have any VPN or VPN-like software running on your computer, such as NordVPN, or iCloud Private Relay (for Mac and iOS).  See [here](#disable-vpn-software).

### **👉** Check that you've set up Remote Connect and ZeroTier correctly

Did you follow exactly the steps outlined in [Set up Remote Connect + ZeroTier](/your-avado/connecting-to-your-avado/set-up-remote-connect-+-zerotier) section?

In particular, verify the following:

* You have checked the correct [**options**](/your-avado/connecting-to-your-avado/set-up-remote-connect-+-zerotier#step-4--join-your-personal-avado-network-with-your-client) in the ZeroTier app:
  * Allow Managed
  * Allow Global
  * Allow DNS
  * **Not allow** Default Route
* If using the phone app (iOS or Android), be sure to select [**Network DNS**](/your-avado/connecting-to-your-avado/set-up-remote-connect-+-zerotier#step-4--join-your-personal-avado-network-with-your-client) when joining the network.
* You have "[**allowed**](/your-avado/connecting-to-your-avado/set-up-remote-connect-+-zerotier#step-5--enable-client-access-on-the-avado)" your device on the AVADO side.  If you have not "allowed" your device, the ZeroTier status will show `ACCESS_DENIED`.

The connection will not work if any of these settings are incorrect.

### **👉** Check with another device

Do you have another device (computer / tablet / phone) handy?  Try to see if you can connect from another device.

### **👉** Restart the ZeroTier Client

Close the ZeroTier app on your device and restart it.  This can help refresh the connection and resolve any temporary issues.

### **👉** Restart the Remote Connect package

Try restarting the Remote Connect package on AVADO.  This requires you to connect via the AVADO Wi-Fi, or "secure shell" (for advanced users).

{% tabs %}
{% tab title="Via AVADO Wi-Fi" %}
To restart the Remote Connect package via AVADO Wi-Fi:

1. Make sure you are not using any VPN software on your device.
2. Connect to AVADO Wi-Fi.
3. Go to the Home Page: <http://my.ava.do>
4. Navigate to the **System** menu
5. Locate the **Remote Access**, or "remoteconnect.avado.dnp.dappnode.eth" package
6. Open the package, and click **Restart**

Wait a few seconds for the package to restart.  Then **disconnect** from AVADO Wi-Fi, connect back to your Home Wi-Fi.  Try to connect via the ZeroTier app again.
{% endtab %}

{% tab title="Via ssh" %}
For advanced users:

1. Find out your AVADO’s IP address on the internal network.  You may need to check this at your router.  It should look like `192.168.0.xx`
2. Open a terminal window on your device.  For Mac, this is the Terminal app.  For Windows, use the CMD tool.
3. Type the following command:

```bash
ssh avado@192.168.0.xx 'docker restart $(docker ps -q --filter name=remote)'
```

Replace the `192.168.0.xx` with your AVADO internal IP.  Make sure you type (or copy) **exactly** on a single line.  Note the spaces, single and double minus signs, and **single** quotes.  Use all small letters.  Then press return.

4. When asked for a password, type `avado` (in small letters) and press return.

This should restart your remote connect package on the AVADO.  You can then try the ZeroTier connection again and see if it works.
{% endtab %}
{% endtabs %}

***

## Wi-Fi / ZeroTier connected, but cannot reach Home Page

There can be different scenarios where the Wi-Fi or ZeroTier connection appears to be connected, but you are unable to reach the Home Page. These situations might manifest through various symptoms, such as:

1. An error message that says: Your AVADO connection needs troubleshooting!
2. An error message that says: Could not connect to AVADO
3. Site cannot be reached, page not found, or connection timeout
4. Endless loading
5. Blank page

{% tabs %}
{% tab title="Scenario 1" %}

<figure><img src="/files/YIwKD4HQmm7CxJF2F5E4" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Scenario 2" %}

<figure><img src="/files/aAuFhEiEqoOPmUy117zx" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Scenario 3" %}

<figure><img src="/files/7edR33bP6FAeiwqvyfbB" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Scenario 4" %}

<figure><img src="/files/TN2gD4VGtZrEGiEb6riW" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Scenario 5" %}

<figure><img src="/files/32d21uc34biYXTC1ymOs" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### **👉** Reload page

Try to reload the page, using a function in your browser such as: reload page, refresh page, reload from source, open page in new frame, and similar.

### **👉** Clear the browser cache

Sometimes, cached data can interfere with accessing web pages.  Clear your browser cache and try accessing the Home Page again.

### **👉** Use incognito mode

If even clearing the browser cache does not help, try **Incognito Mode** (Chrome), or **Private Browsing** (Safari), or similar on your browser.

### **👉** Try a different browser

If you are experiencing issues with one browser, try accessing the Home Page using a different browser to see if the problem persists.

### **👉** Try another device

Do you have another device (computer / tablet / phone) handy?  Try to see if you can connect from another device.

### **👉** Disconnect, then reconnect

Disconnect from the Wi-Fi or ZeroTier connection, wait a few seconds, then try to reconnect again.  This may sometimes restore the connection.

### **👉** Disable VPN Software

Make sure you do not have any VPN or VPN-like software running on your computer, such as NordVPN, or iCloud Private Relay (for Mac and iOS).  See [here](#disable-vpn-software).

### **👉** Disable custom DNS settings

Disable any custom DNS settings, such as the use of "Secure DNS" on Chrome, or Google's 8.8.8.8.

### **👉** Check internet / router connection

Ensure that your AVADO device is connected to a stable and reliable internet connection.  Verify that other devices are able to connect to the internet without any issues.  Go through the checklist [here](#check-internet-router-connection).

### **👉** Connect to your Home Wi-Fi, not AVADO Wi-Fi

Make sure you are connecting to your **Home Wi-Fi**, not the AVADO Wi-Fi, when you are trying to connect using Remote Connect + ZeroTier.

### **👉** Restart your device

Restart your device to refresh the network settings and clear any temporary glitches that may be affecting the connection.

### **👉** Restart the AVADO

If nothing works, try a **hard reboot** of the AVADO.  See: [Restart the AVADO](#restart-the-avado)

## Internal server error

If you come across an "Internal Server Error" or other system errors, there may be some problems with the AVADO OS or its DApps. &#x20;

<figure><img src="/files/aiRTxSQCrltuhftKmY49" alt="" width="563"><figcaption></figcaption></figure>

Try a **hard reboot** of the AVADO.  See: [Restart the AVADO](#restart-the-avado)


# Attestation Troubleshooting

## I'm missing attestations!  Help!

**Don't panic.**

Missing some attestations is actually quite normal and has minimal impact.  If your validators stop working and miss attestations, you will incur some small **penalties**.  The penalties are small amounts of ETH that are approximately equal to the rewards the validator would have received if they had not missed their duties.  For example, the penalties for missed attestations amount to around 0.00162[^1] ETH or about [5 USD](#user-content-fn-2)[^2] per validator per day (as of April 2024).

## But I'm being slashed!

**No, you're not.**

Penalties are not the same as "slashing". &#x20;

Slashing is reserved for more serious offenses.  Validators can be slashed for actions such as double signing or other malicious behavior that compromises the security and integrity of the network.  Slashing results in a reduction of the validator's stake, typically at the level of 1 ETH.&#x20;

Missing attestation duties do not result in slashing.

## OK, so what should I do?

If your validators are missing attestations, perform the following checks to aid diagnosis. &#x20;

{% hint style="info" %}
**Tips: Use ctrl-click (command ⌘-click) to open links**

There are many links in the following steps pointing to various screens on the AVADO and different sections in this documentation.  You may find it useful to use ctrl-click (on Windows) or command ⌘-click (on Macs) to open the links in new tabs.  On mobile devices, long-press the link, then choose "Open in new tab" in the pop-up menu.  This allows you to easily review the contents of those linked pages without losing your place in the current steps.  You can then switch back to the next steps whenever required.
{% endhint %}

***

## Check the Consensus Client

Open your **Consensus Client** DApp ([**Teku**](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth), [**Prysm**](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth), [**Nimbus**](http://my.ava.do/#/Packages/nimbus.avado.dnp.dappnode.eth)) and its **Management Page** ([**Teku**](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth/detail), [**Prysm**](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth/detail), [**Nimbus**](http://my.ava.do/#/Packages/nimbus.avado.dnp.dappnode.eth/detail)).

If you notice that the **status** in the DApp remains stuck at **Waiting for beacon chain to become ready** without any progress, or if you come across error messages in the Logs, the Consensus Client might have a problem syncing.

{% tabs %}
{% tab title="Teku" %}

<figure><img src="/files/VJkzx8ezuEKXQP7jJEK7" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Prysm" %}

<figure><img src="/files/xJMCzBDvQTHEhBsozUJb" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Nimbus" %}

<figure><img src="/files/9ZZXgEYSsgmi9WRygFhW" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

The most common problems are:

* **The Consensus Client fails to connect to sufficient number of peers.** If you are getting a low peer count, there may be a problem with your network setting.  See [Opening Network Ports](https://avado.gitbook.io/docs/quick-help/opening-network-ports) to learn how to resolve this (by doing "port forwarding" on the router).
* **The Consensus Client fails to find the Execution Client.**  It may be the case that you have not yet installed the Execution Client, in which case once you have set up the Execution Client this error will go away.  For example, the following error messages indicate that the Consensus Client is expecting to connect to the Execution Client but fails to do so.

{% tabs %}
{% tab title="Teku" %}
{% code overflow="wrap" %}

```
ERROR - Execution Client request failed. Make sure the Execution Client is online and can respond to requests.
```

{% endcode %}
{% endtab %}

{% tab title="Prysm" %}
{% code overflow="wrap" %}

```
level=error msg="Could not connect to execution client endpoint" 
```

{% endcode %}
{% endtab %}

{% tab title="Nimbus" %}
{% code overflow="wrap" %}

```
No synced execution layer available for deposit syncing
```

{% endcode %}
{% endtab %}
{% endtabs %}

If you have already installed an Execution Client but this error persists, check that you have correctly selected the **Execution Engine** (Geth or Nethermind) on the Consensus Client's **Settings** page to match with your installed Execution Client.  Remember to click **Apply changes** to update the setting.

<figure><img src="/files/1o8FsuK9oLtZBySYYsXK" alt="" width="375"><figcaption></figcaption></figure>

If the error persists, check the Logs of the Execution Client to see what is going on there.  Sometimes a **Restart** of the Execution Client and the Consensus Client is all that is needed to resolve the issue.

Refer to the following sections for more details on the syncing process of the Consensus Clients and for troubleshooting ideas:

* [Syncing the Consensus Clients - Teku](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/teku)
* [Syncing the Consensus Clients - Prysm](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/prysm)
* [Syncing the Consensus Clients - Nimbus](/staking-ethereum/setting-up-the-eth-clients/syncing-the-consensus-client/nimbus)

### Other Errors

{% tabs %}
{% tab title="Teku" %}

* The following error points to a problem in MEV-Boost.  Refer to [Setting up MEV-Boost](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost), especially the section on [Configuring the Relays](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost#how-do-i-configure-the-relays), to confirm that your settings are correct.

{% code overflow="wrap" %}

```
The builder is not available... all relays are unavailable.  Block production will fallback to the execution engine.
```

{% endcode %}

* The following errors suggest a communication problem between the Execution and Consensus Clients.  Try restarting both Clients, or a soft reboot of the AVADO (**System** > **Reboot my AVADO**).

{% code overflow="wrap" %}

```
Waiting for the JWT Token
```

{% endcode %}

{% code overflow="wrap" %}

```
FATAL - PLEASE CHECK YOUR ETH1 NODE | Encountered a problem retrieving deposit events from eth1 endpoint
```

{% endcode %}

* The following error is related to Teku's storage memory.  Make sure you have `-Xmx8g` setting in `JAVA_OPTS` (old settings of `-Xmx3g` and `-Xmx5g` will not work).

{% code overflow="wrap" %}

```
FATAL - Exiting due to fatal error in RetryingStorageUpdateChannel
```

{% endcode %}

* In the following cases, Teku fails to start.  There is likely an issue with the user settings.  Check the values of `JAVA_OPTS` (default is `-Xmx8g`), `EXTRA_OPTS` (default is empty) and "Initial State" (default is: `https://beaconstate.ethstaker.cc`).  Try "Reset defaults".  If nothing works, try remove Teku and install a fresh copy to ensure the factory defaults are applied.

{% code overflow="wrap" %}

```
ERROR - Validator *** Error while connecting to beacon node event stream
```

{% endcode %}

{% code overflow="wrap" %}

```
INFO exited: teku (exit status 2; not expected)
```

{% endcode %}

{% code overflow="wrap" %}

```
INFO gave up: teku entered FATAL state, too many start retries too quickly
```

{% endcode %}

* In the following cases, the database may be corrupt beyond repair.  To recover, you will need to remove Teku, perform **System** > **Disk Cleanup**, re-install Teku and start over again.

{% code overflow="wrap" %}

```
FATAL error - failed to initialise storage. Teku failing to start
```

{% endcode %}

{% code overflow="wrap" %}

```
Teku failed to start: org.iq80.leveldb.DBException: Corruption: corrupted compressed block contents
```

{% endcode %}
{% endtab %}

{% tab title="Prysm" %}

* The following error points to a problem in MEV-Boost.  Refer to [Setting up MEV-Boost](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost), especially the section on [Configuring the Relays](/staking-ethereum/solo-staking-32-eth/set-up-mev-boost#how-do-i-configure-the-relays), to confirm that your settings are correct.

{% code overflow="wrap" %}

```
level=fatal msg="proposer settings is empty after unmarshalling from file specified by proposer-settings-file flag"
```

{% endcode %}

* The following error suggests a problem of the Execution Client.  Perhaps it isn't synced yet; in that case, the error should go away once the Execution Client catches up. &#x20;

{% code overflow="wrap" %}

```
level=error msg="Unable to process past deposit contract logs, perhaps your execution client is not fully synced"
```

{% endcode %}

* In the following case, Prysm fails to start.  There is likely an issue with the user settings.  Check the values of `EXTRA_OPTS`, and "initial state".  Try "Reset defaults".  If nothing works, try remove Prysm (both Beacon Chain and Consensus Client) and install a fresh copy to ensure the factory defaults are applied.

{% code overflow="wrap" %}

```
INFO gave up: prysm entered FATAL state, too many start retries too quickly
```

{% endcode %}

* The following error is also bad.  The database may be corrupted beyond repair.  Most likely you will need to remove Prysm and reinstall a fresh copy.

{% code overflow="wrap" %}

```
error msg="Unable to prune directory" ... error="slot could not be read from blob file 3.ssz: EOF" prefix=filesystem
```

{% endcode %}
{% endtab %}

{% tab title="Nimbus" %}

* On start-up, Nimbus attempts to download an "initial state" file hosted by AVADO, at `https://snapshots.ava.do/state.ssz`.  There may be a problem with this file.  If this happens, raise a ticket at AVADO Discord to alert the team.

{% code overflow="wrap" %}

```
Error error sending request for url (http://localhost:5052/eth/v1/node/health): error trying to connect: tcp connect error: Cannot assign requested address (os error 99) ++ curl --insecure --silent --fail https://snapshots.ava.do/state.ssz --output /data/data-mainnet/initial_state.ssz + echo 'Waiting for initial state download' 
```

{% endcode %}
{% endtab %}
{% endtabs %}

***

## Check the Execution Client

Open the **Management Page** of your **Execution Client** DApp ([**Geth**](http://my.ava.do/#/Packages/ethchain-geth.public.dappnode.eth/detail), [**Nethermind**](http://my.ava.do/#/Packages/avado-dnp-nethermind.public.dappnode.eth/detail)).  For Nethermind, there is also a [**Health Checks**](http://my.ava.do/#/Packages/avado-dnp-nethermind.public.dappnode.eth) page.

If your validators are not attesting, very often the culprit is the Execution Client (Geth or Nethermind).  The syncing process of the Execution Clients is more lengthy and involves a lot more data, giving rise to more possibilities for errors. &#x20;

The followings are the most common problems.

### The Execution Client is unable to find peers&#x20;

If you are getting a low peer count, or none at all, there may be a problem with your network setting.  See [Opening Network Ports](https://avado.gitbook.io/docs/quick-help/opening-network-ports) to learn how to resolve this (by doing "port forwarding" on the router).

### No beacon client detected or beacon chain not operational&#x20;

If you have not installed and synchronized a Consensus Client (such as Nimbus, Teku, or Prysm), the Execution Client cannot sync.  If you encounter the following messages:

{% tabs %}
{% tab title="Geth" %}
{% code overflow="wrap" %}

```
Post-merge network, but no beacon client seen. Please launch one to follow the chain!
```

{% endcode %}

{% code overflow="wrap" %}

```
Beacon client online, but never received consensus updates. Please ensure your beacon client is operational to follow the chain!
```

{% endcode %}
{% endtab %}

{% tab title="Nethermind" %}
{% code overflow="wrap" %}

```
No incoming messages from the consensus client that is required for sync. 
```

{% endcode %}

{% code overflow="wrap" %}

```
No incoming messages from Consensus Client. Consensus client is required to sync the node. Please make sure that it's working properly. 
```

{% endcode %}

{% code overflow="wrap" %}

```
Waiting for Forkchoice message from consensus layer to set fresh pivot block [60s]
```

{% endcode %}
{% endtab %}
{% endtabs %}

It is likely that either you have not installed and synced a Consensus Client, or there is an issue with your existing Consensus Client.  Check the logs of the Consensus Client to determine the cause of the problem.

Sometimes, there may be a communication problem between the Execution Client and the Consensus Client.  Restarting both can often resolve this.  Begin by restarting the Consensus Client, and then restart the Execution Client.  You can find the **Restart** button on the respective client's Management Page.

### Connection refused, or NaN%

When initially starting the Execution Client, you may see this error on the Home Page:

{% tabs %}
{% tab title="Geth" %}

<figure><img src="/files/swVvMLQ3DW66WhiDAZ6F" alt="" width="287"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Nethermind" %}

<figure><img src="/files/XrbqDhhB4K9foxcJcV5b" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

This warning may suggest a potential issue with the Execution Client, but it could also be a non-issue.  To determine the cause, it is advisable to examine the Logs for any problems related to starting the Execution Client, finding peers, or connecting to the Beacon Chain.  By addressing any identified issues, the errors and warnings should no longer persist.

If the Execution Client logs appear normal and do not indicate any problems, it is possible that the problems are temporary and will resolve themselves without further intervention.

### Blocks Synced: 0 <a href="#blocks-synced-0" id="blocks-synced-0"></a>

**This is Nethermind specific.**  During the initial phase, you may find that the progress bar on the Home Page does not progress and remains at "0":

<figure><img src="/files/crOZDhPubUUqFEvWP11f" alt=""><figcaption></figcaption></figure>

**There is a known issue** with the progress bar on the Home Page not functioning properly for Nethermind.  You may notice that the progress remains at 0% for a significant amount of time, and then suddenly jumps to 100% when Nethermind is fully synced.  To reliably monitor the progress, it is recommended to use the Logs, as they provide a more accurate depiction of the syncing process.

### Sync progress "stuck" at 99%

**This is Geth specific.**  In earlier versions of Geth, some users reported that the syncing process appeared to be "stuck" at 99% for an extended period.  This was primarily due to the state regeneration and state heal steps which could take a long time.

However, newer versions of Geth have significantly improved this user experience.  With the introduction of the "path state scheme" (`--state.scheme=path`) option, syncing should no longer get stuck at 99%.  This option has become standard staring from Geth v1.14.0 (AVADO Geth package 10.0.64).

<details>

<summary>Explainer: Geth's <strong>"path state scheme"</strong></summary>

The "path state scheme" is an internal method used by Geth to organize Ethereum state data in its database.  Starting from Geth v1.14.0, the default method is the "path" scheme, which offers several advantages over the previous "hash" scheme:

* The "path" scheme can remove unnecessary data on-the-fly, preventing Geth from becoming "bloated".&#x20;
* The database size will not experience runaway growth.
* Unlike before, there is no need to manually prune or reinstall Geth to reclaim disk space.
* The database is more resilient to data corruption, even in the event of unclean shutdowns.
* Syncing no longer gets stuck at 99%.

For new installations, Geth will now default to the path state scheme.

This change does not affect Geth instances with pre-existing databases, as Geth will continue to use the existing database format.  If you are currently using a previous version of Geth and have not set the `--state.scheme=path` option, you may choose to switch to the new path state scheme.  To do so, follow these steps:

1. Remove the old version of Geth.
2. Perform a disk cleanup on your system.
3. Reinstall the latest version of the Geth package.
4. Allow it to resync from scratch, which may take approximately 12 hours on an i7 processor with a 1 Gbps fiber network connection.

Note that switching to the new scheme is optional.  You can continue using Geth with its previous "hash state scheme" and switch to the new scheme only when you need to prune or otherwise reinstall/resync Geth.

</details>

### CPU usage remains high after the node is synced, with attestation misses

Once the sync process is complete, your node will be fully synced.  If you have already activated your validators, you should notice that they start attesting.

However, for a few hours, the Execution Client may still appear busy, and the CPU usage may remain high.  This may even cause your validators to miss attestations if they are already activated.

This is because Geth and Nethermind are still busy finishing off their respective tasks.

{% tabs %}
{% tab title="Geth" %}
In the case of Geth, it is engaged in generating state snapshots.  State snapshots are a feature introduced in Geth to improve the efficiency and speed of syncing Ethereum nodes.  Generating state snapshots is a resource intensive task that requires significant computational power and disk space.  However, once the state snapshot is generated, it can be stored and shared among multiple nodes, significantly reducing the time and resources needed for syncing.

During this phase, you will observe the following messages in the logs repeatedly:

```
Generating state snapshot
Aborting state snapshot generation
Resuming state snapshot generation
```

This behavior is normal.  Geth attempts to perform snapshot generation between the arrival of new blocks to minimize interruption.  Allow Geth to complete the snapshot generation process.
{% endtab %}

{% tab title="Nethermind" %}
In the case of Nethermind, it is engaged in downloading the old blockchain data, called "Old Bodies" and "Old Receipts".  These data sets are needed to ensure that your node possesses a complete view of the blockchain.  Downloading the old chain data is a resource intensive task that requires significant computational power and disk space.

During this phase, you will observe similar messages in the logs:

```
Old Bodies        7,529,598 / 19,491,929 ( 38.63 %)
```

and later:

```
Old Receipts      2,491,766 / 19,491,929 ( 12.78 %)
```

Notice that the percentage value should steadily increase.  It is normal for your validators to potentially miss some attestations during this phase due to the high system load.  Operations will stabilize once the download is complete.
{% endtab %}
{% endtabs %}

Remember to ensure that you continue using a fan to keep your AVADO device cool.

### Specific Syncing Guides

Refer to the following sections for more details on the syncing process of the Execution Clients, particularly on what to expect during the syncing process.

* [Syncing the Execution Clients - Geth](/staking-ethereum/setting-up-the-eth-clients/syncing-the-execution-client/geth)
* [Syncing the Execution Clients - Nethermind](/staking-ethereum/setting-up-the-eth-clients/syncing-the-execution-client/nethermind)

### Other Errors

{% tabs %}
{% tab title="Geth" %}
If unfortunately you see the following errors in the Logs, these are usually bad.  The database may be corrupt beyond repair.  To recover, you will need to remove Geth, perform System > Disk Cleanup, re-install and let it re-sync from scratch.

* Unexpected trie node in disk
* State snapshotter failed to iterate trie
* Fatal: Failed to register the Ethereum service
* Failed to retrieve genesis from ancient EOF
* Fatal: could not open database.
* Inserting block failed
* Invalid merkle root
* Bad block
* Corruption on data-block
* Error in block freeze operation
* NewPayloadV1: inserting block failed error="invalid gas used"
* Number of finalized block is missing
* Head state missing, repairing
* Block state missing, rewinding further

The following errors are likely a result of incorrect user settings.  Check the value of `EXTRA_OPTS` (on Management Page)

{% code overflow="wrap" %}

```
INFO gave up: geth entered FATAL state, too many start retries too quickly
```

{% endcode %}

{% code overflow="wrap" %}

```
WARN exited: geth (exit status 1; not expected)    
```

{% endcode %}

Default value of `EXTRA_OPTS` should be:

<pre><code><strong>--http.api eth,net,web3,txpool 
</strong></code></pre>

or the following if you manually specified to use the "path state scheme":

```
--http.api eth,net,web3,txpool --state.scheme=path
```

Note the double minus signs, and note that there are no spaces around the commas and the periods.
{% endtab %}
{% endtabs %}

## I still have a problem!

If you have performed all the necessary checks and your validators continue to fail in delivering attestations, we recommend reaching out to the AVADO community on [**Discord**](https://discord.gg/RpMaFjTjyw) or raising a support [**ticket**](https://discord.com/channels/888744455987929119/1055440867978121246/1085977917001052190) there.

[^1]: \~7,200 gwei per miss ÷ 10^9 × 225 epochs per day ≈ 0.00162 ETH per day

[^2]: \~@$3,200/ETH × 0.00162 ETH per day ≈ $5.18 per day


# Error: Reboot and Select proper Boot device

How to help your AVADO to Boot from the proper disk.

#### ❓ Why This Happens

This error occurs when the BIOS fails to recognize the AVADO OS boot disk and selects the wrong device to start from. This can sometimes happen after a power outage, hardware changes, or BIOS resets.

#### ✅ How to Fix It

Follow these steps to manually select the correct boot device in the BIOS:

***

#### 🛠 Step-by-Step Instructions

1. **Connect a Keyboard and Monitor**
   * Plug a USB keyboard into your AVADO device.
   * Connect a screen via HDMI.
2. **Enter the BIOS**
   * Power on (or restart) your AVADO device.
   * **Hold down the `ESC` key** on the keyboard immediately as the device starts up.
   * This will bring up the BIOS menu.
3. **Navigate to the Boot Settings**
   * Use the arrow keys on your keyboard to move to the **tab on the far right** (usually labeled `Boot` or similar).
   * Scroll down to the section called **"BIOS Boot"** or **"Boot Option Priorities."**
4. **Select the Correct Boot Device**
   * Highlight the **second option** in the list (this is typically the AVADO OS disk).
   * Press `Enter` to select it.
5. **Save and Exit**
   * Navigate to the `Exit` tab or press the key indicated to **Save & Exit** (often `F10`).
   * Confirm when prompted.

***

#### ✅ What Happens Next

* Your AVADO device should now boot from the correct disk.
* You’ll see the **AVADO upload screen** appear on your monitor.
* After a few minutes, the **AVADO user interface will be available** in your browser at:\
  👉 <http://ava.do> (or once connected to the AVADO Wi-Fi).


# Opening Network Ports

## What is it?

Your Execution and Consensus Clients rely on a peer-to-peer network to exchange data with other participants.  They actively send **outbound** traffic to connect with peers, and accept **inbound** connections from peers that "discovered" your node.  A consistently high number of connected peers ensures a smooth and robust network operation.

However, most home network routers block incoming traffic by default as a security measure.  This means that even with a reliable internet connection, your router may prevent incoming connections from network peers.  Outgoing traffic is usually unaffected.

In this example, Nethermind and Teku are installed on AVADO.  While both can send outbound traffic, Nethermind “listening” on its assigned channel (“port”) 40303 and Teku "listening" on port 9000 are not getting any inbound signals because incoming traffic is blocked at the router.

<figure><img src="/files/n1xz7dRdbPZo80tXJ2mI" alt=""><figcaption></figcaption></figure>

To address this issue, it becomes necessary to manually "open network ports".  This is also known as **port forwarding**.  Think of network ports as virtual doors that allow data to flow into your device. By opening these ports, you are essentially creating pathways for peers to establish connections with your AVADO.

<figure><img src="/files/M6nZtpvSnxzJuYSpcz9V" alt=""><figcaption></figcaption></figure>

Note that the Clients can perform their duties even with only outbound connection.  Allowing inbound connection is an optimization point that can potentially enhance the performance of your validators, and is therefore highly recommended.

The AVADO OS is able to automatically open specific ports on your router via [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play).  If UPnP is not enabled on your router, or if UPnP does not solve the connection problem, you will need to open ports manually.  The process is explained on this page.

## AVADO Ports

AVADO has pre-configured the following ports for each specific dapp:

<table><thead><tr><th width="387">Dapp</th><th align="center">Port</th><th align="center">Protocols</th></tr></thead><tbody><tr><td>Geth (mainnet)</td><td align="center">30303</td><td align="center">TCP/UDP</td></tr><tr><td>Nethermind (mainnet)</td><td align="center">40303</td><td align="center">TCP/UDP</td></tr><tr><td>Nethermind (Gnosis)</td><td align="center">30305</td><td align="center">TCP/UDP</td></tr><tr><td>Prysm Beacon chain (mainnet)</td><td align="center">12000</td><td align="center">UDP</td></tr><tr><td></td><td align="center">13000</td><td align="center">TCP</td></tr><tr><td>Teku (mainnet)</td><td align="center">9000</td><td align="center">TCP/UDP</td></tr><tr><td>Teku (Gnosis)</td><td align="center">9006</td><td align="center">TCP/UDP</td></tr><tr><td>Nimbus (mainnet)</td><td align="center">9100</td><td align="center">TCP/UDP</td></tr><tr><td>Qtum</td><td align="center">3888</td><td align="center">TCP</td></tr></tbody></table>

These are the **only ports** you should ever need to open on your router for the AVADO DApps.  Opening any other ports could be a security risk and should be avoided.

## Before your begin

1. **Are you receiving any inbound peers?**  You can check if you have inbound peers in your Consensus Client.  If you see inbound peers, it means your ports are already open or UPnP is enabled on your router.  In this case, there is no further action required from your end.

<figure><img src="/files/5ydsYseS9NWU4g7IO4jb" alt=""><figcaption></figcaption></figure>

2. **Do you know how to access your home router's admin page?**  To open the web interface of your router, refer to your router's manual, visit your ISP's website, or contact their support for guidance.  Each router brand has its own method, but typically, you will need to connect to a specific IP address on your local network.

## Step 1:  Find out the Internal IP Address of your AVADO

Navigate to <http://my.ava.do> from your browser to bring up the Home Page.  Click on the avatar image (the green circle in this picture).   A popup window will appear.  Take note of both the **External IP** and **Internal IP** - we will need these later.

<figure><img src="/files/kXeaJs8K31se2vqJEpIy" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
**Internal IP** is your AVADO's address on the *local* network.  It is usually `192.168.0.xx`

**External IP** is your ISP-assigned address on the Internet.  It is the address by which your AVADO appears to the world.
{% endhint %}

## Step 2:  Open your Router’s Web Interface

On your browser, navigate to your router's web interface.  Refer to your router's manual, visit your ISP's website, or contact their support for guidance. &#x20;

## Step 3:  Give AVADO a Reserved / Static Internal IP

In certain cases, port forwarding rules may not work consistently if they are assigned to devices with dynamic IP addresses (using "[DHCP](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol)").  This is because if your router assigns a new IP address to your AVADO device, the port forwarding rule will no longer function properly.

To prevent this issue, it is recommended to assign a static, or *reserved*, IP address to your AVADO.  While not every router requires this, it is highly advisable to assign a static or reserved IP to your AVADO to avoid potential complications.

To do this, navigate to your router's settings page for setting static IP addresses.  Typically, this would be under headings such as "DHCP Server", "Address Reservation", "DHCP Reservation", or "Static IP Address". &#x20;

For instance, on a tp-link router, you can navigate to the page by going to Advanced > Network > DHCP Server > Address Reservation.

<figure><img src="/files/yz6RV5HzSJlGOW7EDfeD" alt=""><figcaption></figcaption></figure>

Add an entry for your AVADO.  You may use the existing Internal IP that you obtained from Step 1.

## Step 4:  Add Port Forwarding

Locate your router's page for port forwarding settings.  Typically this would be under headings such as "NAT Forwarding", "Port Forwarding", or "Firewall".

On a tp-link router, this is under Advanced > NAT Forwarding > Port Forwarding

<figure><img src="/files/uasdAchUTc48gtZk5UfI" alt=""><figcaption></figcaption></figure>

Add the required port forwarding rules for your DApps.  Typically, the settings page will ask for the following information:

* **Service or Mapping Name:** You can assign a name for each rule, for example, **teku**, or **geth**, for easy reference.
* **Internal Host or Device IP Address:** This should be the Internal IP address for your AVADO, which should also be the address reserved for your AVADO in Step 3.  Some routers may let you simply select your AVADO from a list of connected devices.
* **External Port (WAN Port) and Internal Port:** We are not translating (changing) the internal and external port numbers.  So for example with Teku, both the External Port and Internal Port should be set to 9000.  If your router asks for a range (from/to, starting/ending), enter "from 9000 to 9000".
* **External Source IP:** This limits incoming connections from specific outside sources.  If your router asks for this, leave blank or select "All".
* **Protocol (UDP or TCP):** For Prysm, you need two rules for 12000/UDP and 13000/TCP.  For most other DApps, you should select "UDP and TCP".  If your router only lets you select one protocol per port forwarding rule, create two rules each for UDP and TCP respectively.

Here are a few examples from different router models or firmware versions:

{% tabs %}
{% tab title="Sample 1" %}

<figure><img src="/files/C1VAwjOzxuASgipCLAEh" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Sample 2" %}

<figure><img src="/files/hQleYgymNskdaAsSVx1M" alt="" width="563"><figcaption></figcaption></figure>

Note: This router asks for port number ranges.  Enter, for example, 9000--9000 for Teku.
{% endtab %}

{% tab title="Sample 3" %}

<figure><img src="/files/fmj5NZJyMn6OPgSzVTJy" alt="" width="563"><figcaption></figcaption></figure>

Note: This router asks for "Source IP" addresses.  Select "All IP Addresses" for unrestricted incoming connections.
{% endtab %}

{% tab title="Sample 4" %}

<figure><img src="/files/tMRfz037pSQb4evuci41" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Sample 5" %}

<figure><img src="/files/dyg8wjpLKiWoTHI8pIyQ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8gMFxDRWFoCa2fX0XoZi" alt=""><figcaption></figcaption></figure>

Note: This router only allows one protocol (UDP or TCP) per port forwarding rule, so two rules were set each for TCP and UDP.
{% endtab %}
{% endtabs %}

## Step 5:  Confirm the Ports are Open

The completed settings shall look like the following.  This is for illustration purpose, so we have added all ETH Execution and Consensus Clients.  In typical usage, you would only add rules for the DApps that you are using.

<figure><img src="/files/rBKChyK1smYx5IIx52mo" alt=""><figcaption></figcaption></figure>

To check that the ports are opened successfully, you can check in your Consensus Client.  You should start to see a number of inbound peers.

You can also use an external port checker, such as <https://portchecker.co/> or <https://www.yougetsignal.com/tools/open-ports/>

Enter your AVADO's **External IP** address for checking, and the port number you're checking (for example, 9000 for Teku).  It will simply inform you if the port is open or not.

<figure><img src="/files/Nmf0oKBg7EIFuhtuzxZJ" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Consult your ISP**

If you have followed the above procedure and are still not receiving any inbound peers, and your ports remain closed, it is possible that your Internet Service Provider (ISP) is blocking incoming traffic at the modem or elsewhere upstream.  In such cases, it may be necessary to contact your ISP directly to address and resolve this issue.
{% endhint %}

## Further Reading

* [A Detailed Guide on How to Port Forward your Router in Easy Steps](https://www.purevpn.com/blog/how-to-forward-ports-on-your-router/#How_to_setup_Port_Forwarding_on_your_router)
* [Exploring Eth2 – Why Open Ports Matter](https://www.symphonious.net/2021/08/14/exploring-eth2-why-open-ports-matter/)


# Teku Zero Sync

Teku now offers a **Zero Sync** mode that supports validation from a backup Beacon Chain provided by AVADO.  Enabling Zero Sync eliminates the need to wait for your Execution Client to sync initially and reduces downtime in case of errors or maintenance.

<figure><img src="/files/FR3Q5AvLI5DfXGuglxpH" alt=""><figcaption></figcaption></figure>

The Zero Sync mode is not enabled by default.  You can enable it by setting the `MODE` parameter to `zerosync` in the [**Management Page**](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth/detail) of Teku.

1. Navigate to the Management Page of Teku.  You can do this by:
   * Clicking the [**Manage Package**](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth/detail) button immediately upon installing Teku; or equivalently,
   * Navigating to **My Dapps** menu, then clicking the [**Manage**](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth/detail) button on the Teku Consensus Client line.

<figure><img src="/files/4zeOFgyZh45KPRZfJB1A" alt="" width="563"><figcaption></figcaption></figure>

2. Locate the section called "Environment Variables".
3. Insert `zerosync` (all small letters) into the value of the `MODE` parameter.

<figure><img src="/files/C39ijPZvfNgMXIuyG5FZ" alt="" width="563"><figcaption></figcaption></figure>

4. Click "Update environment variables".  Teku will restart.&#x20;
5. You can now check Teku's status by opening the [DApp](http://my.ava.do/#/Packages/teku.avado.dnp.dappnode.eth).  With Zero Sync enabled, you will see the status of your local the Zero Sync beacon chains side by side in the header.

<figure><img src="/files/GFhfuLieR6EvgHGUVHeK" alt=""><figcaption></figcaption></figure>

When your local chain is in sync, Teku will automatically start using it.  You can leave Teku in Zero Sync mode such that, in the event your local Beacon Chain falls out of sync, Teku will automatically switch to the fall back Beacon Chain for continued operations. &#x20;

If you wish, you can also disable the Zero Sync mode by setting the `MODE` parameter to `standalone` in the Management Page of Teku.&#x20;

## Caveats

{% hint style="warning" %}
**Zero Sync is a Temporary Solution**

Zero Sync is intended as a temporary solution to facilitate rapid validator setup.  Users must transition to running their own Execution Client in sync for optimal performance.
{% endhint %}

Note that when using the Zero Sync mode while your local node is not fully synced:

* You cannot exit a validator while your node is relying on the failover server.  Your node needs to be synced before you can exit the validator.
* MEV-Boost does not work.
* If you happen to hit a block proposal, an empty block will be produced, with **zero block rewards**.  The block rewards will be "burned" and no one, including AVADO, will benefit from it.

The idea of the Zero Sync mode is to help you keep your validators attesting during the initial sync or re-sync of your node.  Block production during that time will not work - but consider the alternative of not using Zero Sync and your node was offline, you would miss the block proposal anyway and would also miss out on the attestation rewards completely.  So although the current setup is not optimal, it's better than being offline.&#x20;

Your attention is drawn to the Zero Sync **Terms and Conditions** if you decide to use the facility.  You can review these by following the link in the status area.

During the time when Zero Sync mode is active (and your node is still syncing), Teku will periodically report the following error (in red) in the Logs:

{% code overflow="wrap" %}

```
Remote Validator Client detected and no default fee recipient has been configured via the validators-proposer-default-fee-recipient option! It is strongly recommended to configure it to avoid possible block production failures in case the node has not been prepared for potential proposers by the Validator Client.
```

{% endcode %}

The error message indicates that block production will fail, as explained above.

## Switching Back to Standalone Mode

Once your Beacon Chain and Execution Clients are back in sync, Teku will switch back to your local node and work with the MEV-Boost settings you have configured. &#x20;

You may also change the `MODE` parameter to `standalone` to make sure Teku uses the local node.


# Switching from Prysm to Teku, etc.

## Quick Steps

To switch from one **Consensus Client** to another (for example, from Prysm to Teku, or vice versa), follow these steps:

1. Make sure you have the keystore or backup files.
2. Stop the validators, or remove the existing Consensus Client entirely.
3. Install and sync the target Consensus Client.
4. **Allow a minimum of 5 epochs to pass** between stopping the existing validators (Step 2) and re-loading them into the new Consensus Client (Step 5).
5. Restore your validators into the new Consensus Client.

The following paragraphs provide detailed information about each step.

## What does this mean?

If you wish to change the **Consensus Client** you are using, such as switching from Prysm to Teku, or from Teku to Nimbus, or vice versa, you will need to remove the validator keys from the existing Consensus Client, install and sync the new Client, and re-load the validator keys into the new Client.  &#x20;

### Other Scenarios

* **Changing AVADO machine, or upgrading the disk.**  For example, you may have a replacement AVADO machine, or a 4 TB disk upgrade for the i7.  To "move" the validators to the new hardware, you will remove the existing validators from the old machine or disk, install and sync the new ETH Clients on the new hardware, and re-load the validator keys into the new Consensus Client.  The process is essentially the same as what is described on this page.
* **Switching Execution Client.**  Note that if you are only switching the **Execution Client,** e.g. from Geth to Nethermind or vice versa, you do not need to "move" any validators.  Just remember to change the [Execution Engine](https://docs.ava.do/quick-help/pages/LyM0qmp2BxTZ6lIW5ipG#b.-set-execution-engine) setting in the Consensus Client DApp.
* **Physically moving the AVADO from one location to another.**  If you are simply relocating your AVADO from one location to another, for example when you're moving home, you do not actually need to "move" any validators.  Just shut down the AVADO at its current location using the **System** > **Shutdown** option.  Then, plug in the machine at the new location, and it will pick up where it left off.

## Step 1.  Make sure your have the keystore or backup files

### Solo Stakers

For Solo Stakers, ensure that you have access to your validator **keystore files** and their **passwords**.  The keystore files were generated during the [Key Generation](/staking-ethereum/solo-staking-32-eth/generate-keys) process using a tool like the Wagyu Key Gen software.   A set of output looks like this:

<figure><img src="/files/9C2EUNG4yyv24gUzN1ke" alt="" width="310"><figcaption></figcaption></figure>

You should have **one keystore file** (`keystore-xxxxxx.json`) for **each and every** solo validator you have.  You can open up the keystore file(s) with a text editor and check the **pubkey**; this should match with one of your validators. &#x20;

The `mnemonic.txt` and `password.txt` files (if available) contains, respectively, the 24-word secret recovery phrase, and the password for the keystore file(s).  In any case, you should have written down and kept these secrets very safe from the time your created them.

You will need to use the keystore files and their associated password(s) to re-load the validators. &#x20;

If you have lost the keystore files, or have forgotten the password(s), don't worry!  You can always regenerate them from the 24-word mnemonic, using a tool like Wagyu Key Gen.  See [Re-generate or Generate More Keys](/staking-ethereum/solo-staking-32-eth/generate-keys/re-generate-or-generate-more-keys) section for detailed instructions.

{% hint style="info" %}
**Download a copy of your staking keys from Teku**

The newer versions of AVADO Teku package (since version 0.0.47) offer a feature to download a backup of your staking keys.  On the **Main** page of the DApp, click **Download backup of my staking keys** to create a backup file containing all the necessary information for restoring your validators if needed.

<img src="/files/uSj3KK1O19JCSBwCW4c6" alt="" data-size="original">
{% endhint %}

### Rocketpool Stakers

For Rocketpool Stakers, ensure you have a **fresh backup** of your settings.  This can be obtained through the Rocketpool DApp.  The `rocket-pool-backup.zip` file contains all the information required to restore your Rocketpool nodes and minipools.   Make sure your backup is up-to-date.

Go to the **Setup** tab in the DApp and press the button **Download Rocker Pool Data Backup**.  Refer to the [Backup and Restore](/staking-ethereum/rocketpool-8-or-16-eth/backup-and-restore) section for more detailed instructions.

Having a Backup File serves as a precautionary measure in case things don't go as planned during the transition process.  However, if you are only switching the Consensus Client and everything goes smoothly, the Rocketpool DApp will automatically prompt you to re-load the validators into the new Consensus Client.  In this scenario, you won't actually need to use the Backup File.

### Stader Stakers

For Stader Stakers, ensure you have a **fresh backup** of your settings.  This can be obtained through the Stader DApp.  Navigate to the **Admin** tab in the DApp and click the **Download Backup** button to obtain the backup file.

{% hint style="info" %}
**Take note of how many keys you have**

Regardless of whether you are a Solo Staker, Rocketpool Staker, or Stader Staker, it is recommended to take a picture or a screenshot of your Consensus Client.  This will allow you to compare the data later on with the information on your newly installed Consensus Client.
{% endhint %}

## Step 2.  Shut down the existing validators

Before you load your validators to another Consensus Client, you must shut down your existing validators.  There are two ways to do this:

1. **Remove the validator from the Consensus Client dashboard.**  This can be done by clicking the **Trash** icon at the right-hand side of the validator line.  By removing the validator in this way, your existing Consensus Client will "forget" about this validator and will not perform any duties assigned to it.  Your validator still exists on the Beacon Chain, but it won't be attesting because it is no longer serviced by your Consensus Client.  There is no need to "exit" from the Beacon Chain.  Repeat for multiple validators.

<figure><img src="/files/Beth24N4yDtE0pYlEB6D" alt="" width="563"><figcaption></figcaption></figure>

2. **Remove the Consensus Client.**  If you do not plan on using the existing Consensus Client anymore, a more thorough option is to remove the DApp (Teku, Prysm or Nimbus) entirely.  This ensures that all validator keys are deleted from the existing instance of the Consensus Client and will no longer be validating.  To remove the Consensus Client, go to its [Management Page](/your-avado/finding-your-way-around/the-dapp-management-page) and click on the **Remove** button.

Either way, you can verify that your validator(s) have stopped functioning by checking the **beaconcha.in** website.  After waiting a couple of epochs, beaconcha.in will start to indicate that your validator(s) are missing attestations and you will incur small penalties each epoch.  This confirms that your validator(s) are no longer functioning.

## Step 3.  Set up the target Consensus Client

Proceed to install and sync the new chosen Consensus Client on your AVADO.  For detailed instructions on how to do this, refer to the instructions in the [Setting up the ETH Clients](/staking-ethereum/setting-up-the-eth-clients) section (especially: [Step 2](/staking-ethereum/setting-up-the-eth-clients#step-2-install-consensus-client), [Step 3](/staking-ethereum/setting-up-the-eth-clients#step-3-configure-the-consensus-client), and [Step 4](/staking-ethereum/setting-up-the-eth-clients#step-4-syncing-the-consensus-client)). &#x20;

Setting up and syncing the Consensus Client will typically take only a few minutes to no more than an hour. &#x20;

Remember to configure the [Default Fee Recipient Address](https://docs.ava.do/quick-help/pages/LyM0qmp2BxTZ6lIW5ipG#a.-set-default-fee-recipient-address) and the [Execution Engine](https://docs.ava.do/quick-help/pages/LyM0qmp2BxTZ6lIW5ipG#b.-set-execution-engine) settings.

Rocketpool users need to change the `CONSENSUSCLIENT` variable on the **Management Page** of the Rocketpool DApp.  See [here](/staking-ethereum/rocketpool-8-or-16-eth/setting-up-a-rocketpool-node#tell-rocketpool-which-eth-clients-youre-using) for instructions.

There is no need to change anything on the Execution Client (Geth or Nethermind).  In case the Execution Client does not sync in tandem with the new Consensus Client, a simple **Restart** may be all that is needed to get it to work.

## Step 4.  Allow a minimum of 5 epochs to pass

{% hint style="warning" %}
**Beware of slashing risk**

Always ensure that there is a time gap between removing the existing Consensus Client (or its validator keys) and loading those keys into the new Consensus Client. &#x20;

Wait for a minimum of 5 finalized epochs before importing the keys.  Given the current network conditions, this waiting period amounts to approximately 30 minutes.  To err on the side of caution and ensure absolute safety, we recommend waiting for 10 finalized epochs.  This precaution is necessary to prevent the risk of  slashing due to premature activation.
{% endhint %}

It is important to allow a minimum of 5 epochs to pass before proceeding with the transition process.&#x20;

This is especially crucial if you're switching Consensus Clients, as the new Consensus Client can sync and go live in as quickly as a few minutes.  Be sure to allow sufficient time between stopping the validators in the old Consensus Client and loading the keys in to the target one.  This precaution is necessary to prevent the risk of slashing due to premature activation.

## Step 5.  Restore your validators

Once the target node is fully synced, **and** you have confirmed that your existing validator(s) have stopped validating for at least 5 epochs, you can proceed to restore your validators.

* **For Solo Stakers:** Import the validator keystore files into your Consensus Client.  See [Import Validator Keys](/staking-ethereum/solo-staking-32-eth/import-validator-keys) section for details. &#x20;
* **For Rocketpool Stakers:** Open the AVADO Rocketpool DApp.  Provided you have set the `CONSENSUSCLIENT` variable correctly, Rocketpool will detect that it has configured minipools without their corresponding validators loaded into the Consensus Client.  You will see the prompts similar to the process of [Adding a Minipool](/staking-ethereum/rocketpool-8-or-16-eth/add-minipool) ([Step 4](https://docs.ava.do/quick-help/pages/fIl1uel5F1NcElrTOXAj#step-4.-import-your-validator-to-the-consensus-client) and [Step 5](https://docs.ava.do/quick-help/pages/fIl1uel5F1NcElrTOXAj#step-5.-set-fee-recipient-address)).  Follow the prompts and your validators will be automatically restored.
* **Stader Stakers:** Use the Admin panel to restore the backup you created earlier.  This should bring back your validators, and you will also find an **import validator** button to add the validator keys back into your Consensus Client.

After restoring the validators, perform a final check by comparing the validator list with the screenshot you took before the transition.  If the lists match, you are ready to proceed without any issues.&#x20;


# Use Metamask with your AVADO

## Can I use MetaMask with my own AVADO Node? <a href="#can-i-use-my-avado-with-metamask" id="can-i-use-my-avado-with-metamask"></a>

Yes!  And this is actually the best way to reclaim your privacy.  Here are the steps:

1. In MetaMask go to **Settings** > **Networks**
2. Scroll to the bottom and click the **Add Network** button
3. Click **Add a network manually**
4. Fill in these values:

<table><thead><tr><th width="224">Item</th><th>Value</th></tr></thead><tbody><tr><td><strong>Network Name</strong></td><td>Give this a name for easy reference, for example, "AVADO"</td></tr><tr><td><strong>RPC URL</strong></td><td><ul><li><p>For <strong>Geth</strong> (choose one):</p><ul><li>http://ethchain-geth.my.ava.do:8545</li><li><strong>https:</strong>//ethchain-geth.my.ava.do</li></ul></li><li><p>For <strong>Nethermind</strong> (choose one):</p><ul><li>http://avado-dnp-nethermind.my.ava.do:8545</li><li><strong>https</strong>://avado-dnp-nethermind.my.ava.do</li></ul></li></ul></td></tr><tr><td><strong>Chain ID</strong></td><td><code>1</code>  - The default Chain ID for Ethereum Mainnet is 1.  Metamask will warn that "This Chain ID is currently being used by the mainnet network".  This is OK.</td></tr><tr><td><strong>Currency symbol</strong></td><td><code>ETH</code></td></tr><tr><td><strong>Block explorer URL</strong></td><td>https://etherscan.io</td></tr></tbody></table>

<figure><img src="/files/fzOOEmM4RY76Q4mzNOWh" alt="" width="375"><figcaption></figcaption></figure>

Once you're done, click **Save**.

You can now use this connection to send all MetaMask chain queries and transactions through your own ETH node!

{% hint style="info" %}
Remember to change the **RPC URL** if you switch Execution Client.
{% endhint %}

{% embed url="<https://youtu.be/IKEpxMVa2Kw>" %}
Video: Connecting Metamask to your own ETH node on AVADO
{% endembed %}


# Help with Wi-Fi Password

## How do I change the Wi-Fi Password ? <a href="#how-do-i-change-the-wifi-password" id="how-do-i-change-the-wifi-password"></a>

The default SSID of AVADO Wi-Fi is: `AVADO`.  The default password is: `avado123`

It is good security practice to change the default SSID and password.

{% hint style="warning" %}
It is **HIGHLY recommended** that you **configure your Remote Connect + ZeroTier connection first** before attempting to change your Wi-Fi password.  If you don’t have an alternative means of access and anything goes wrong while you change the password, you will have to take the walk of shame and reach out to the AVADO team on Discord to unlock your AVADO.
{% endhint %}

Follow these steps to change the Wi-Fi SSID and password:

1. Make sure Remote Connect + ZeroTier is configured correctly.
2. Go to the **System** menu.
3. Click the **AVADO WiFi** package (or: "wifi.dnp.dappnode.eth").
4. On this page you will see the `SSID` (the name of the Wi-Fi network) and the `WPA_PASSPHRASE` (the password).  You can change both here.

{% hint style="info" %}
Make sure you select **at least 8 characters** for the password - otherwise it will not be accepted and your Wi-Fi access point will not be reachable any more.
{% endhint %}

5. Click the **Update environment variables** button to save and restart the package.
6. After about 30 seconds you will be able to log on to your updated WiFi network.

## I changed my Wi-Fi password or disabled it and locked myself out of my AVADO <a href="#i-changed-my-wifi-password-or-disabled-it--locked-myself-out-of-my-avado" id="i-changed-my-wifi-password-or-disabled-it--locked-myself-out-of-my-avado"></a>

Find a screen with HDMI input (tip: use your TV if you don’t have a monitor) and attach an HDMI cable to your AVADO.  Get a USB keyboard and attach it to any of the USB ports of your AVADO.  Make sure your AVADO is connected to the internet before proceeding.

If your AVADO is functioning normally, you should see a login prompt displayed on the screen. The prompt will look like this:

```
AVADO login: _
```

Login with username `avado` and password `avado`

If you simply forgot your password, you can find it by reading out the config file of the Wi-Fi package.  At the console you type:

```bash
cat /usr/src/dappnode/DNCORE/wifi.dnp.dappnode.eth.env
```

Make sure to include the space after `cat` and use forward slashes (`/`) in the file path.  Additionally, use lowercase letters throughout the command, except for `DNCORE` which should be written in capital letters.  Press enter after typing the command to execute it.

You can find the `WPA_PASSPHRASE` (the Wi-Fi password) from the output.

<figure><img src="/files/XD5f1bKJJGnPNCXegzZM" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Tips: You can also use `ssh`**

You can also use the command line from your computer without having to connect an HDMI monitor and USB keyboard to the AVADO.

1. Find out your AVADO's IP address on the internal network.  You may need to check this at your router.  It should look like `192.168.0.xx`
2. Open a terminal window on your device.  For Mac, this is the Terminal app.  For Windows, use the CMD tool.
3. Type the following command:

```bash
ssh avado@192.168.0.xx "cat /usr/src/dappnode/DNCORE/wifi.dnp.dappnode.eth.env"
```

Replace the `192.168.0.xx` with your AVADO internal IP.  Make sure you type (or copy) **exactly** on a single line.  Note the spaces, double quotes, forward slashes, and letter cases.  Then press return.

4. When asked for a password, type `avado` (in small letters) and press return.

This should give you the same output as above so you can read out the Wi-Fi password.
{% endhint %}


# Resetting your BIOS

There may be some circumstances in a troubleshooting scenario where you are advised to "**Reset your BIOS"** to see if that resolves your issue.

## What is your BIOS? <a href="#what-is-your-bios" id="what-is-your-bios"></a>

**B**asic **I**nput **O**utput **S**ystem

The BIOS is the preinstalled firmware that is loaded onto a small memory chip of the motherboard of a computer.  It is the software responsible for the hardware initialization during booting and to provide runtime services for the launch of the operating system and programs.  It is completely independent of the operating system and is *non volatile*, meaning that it survives in the event that all power is removed from the device.

## Why Reset your BIOS? <a href="#why-reset-your-bios" id="why-reset-your-bios"></a>

Often there can be small issues caused by actions made since the factory install.  By resetting the BIOS it restores the AVADO to the default factory settings that were designed for everything to function optimally.  It can often be all that is needed to resolve a problem.

## How do I Reset My BIOS? <a href="#how-do-i-reset-my-bios" id="how-do-i-reset-my-bios"></a>

Resetting the BIOS is as simple as removing the *CMOS\** Battery from within the AVADO for several minutes and then replacing it.

Please carefully follow the steps below.

\*CMOS (Pronounced “see-moss”) - **C**omplementary **M**etal-**O**xide-**S**emiconductor - A small battery powered memory chip responsible for holding basic information for the BIOS.

#### STEP ONE <a href="#step-one" id="step-one"></a>

**Unplug the AVADO** and place it in a clear work area face down flat with screws on the topside.

#### STEP TWO <a href="#step-two" id="step-two"></a>

**!! Ground yourself !!**

You must discharge any static electricity buildup you may have on your body before you start doing anything inside your AVADO.

Static electricity can damage the delicate inner workings of computers.

For more info on how, see [How to Ground Yourself to Avoid Destroying a Computer with Electrostatic Discharge](https://www.wikihow.com/Ground-Yourself-to-Avoid-Destroying-a-Computer-with-Electrostatic-Discharge)

<figure><img src="/files/jTLiweuwbvw1KiABa2IL" alt=""><figcaption></figcaption></figure>

#### STEP THREE <a href="#step-three" id="step-three"></a>

Unscrew the 6 phillips head screws on the base of the AVADO to remove the bottom plate.

Place them somewhere they won’t be lost. You’ll need them again in literally 3 minutes.

<figure><img src="/files/OiJ8l029ypkb5Es3vpTA" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/uywJUJmTFXunBVRsv8iy" alt=""><figcaption></figcaption></figure>

#### STEP FOUR <a href="#step-four" id="step-four"></a>

Locate the CMOS Battery. It is the small silver 3V Lithium Battery that looks like this.

<figure><img src="/files/PEOPvgllgmdBVm7q4bIw" alt=""><figcaption></figcaption></figure>

#### STEP FIVE <a href="#step-five" id="step-five"></a>

Using a small flat head screw driver gently insert it into the “U” shaped side of the battery seat and slowly lift the Lithium battery out from its pocket.

<figure><img src="/files/GE52GvkLM2iYEeVzn3I7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/2VYhuqtcanPB12lDvw6Z" alt=""><figcaption></figcaption></figure>

#### STEP SIX <a href="#step-six" id="step-six"></a>

Take the battery out for 2 minutes.

Then:

* Replace the battery gently.
* Close the box up by reinserting the 6 screws.
* Re-plug your AVADO for a reboot.

Done 😃

We hope this resolves your issue, if not please refer back to AVADO Discord for further assistance.


# Delivery and Return

If you are requested to send your device back for repair - please fill in this form <https://forms.gle/ziwtcoZntag7an8q9> to get a return shipping label for your device.

### Official Telegram Handle and Shipping Addresses <a href="#official-telegram-handles-and-shipping-addresses" id="official-telegram-handles-and-shipping-addresses"></a>

Our CEO Flisko is on Telegram.  Please click on the link below to make sure that you are talking to the correct person.

* Flisko- [@flisw0w](https://t.me/flisw0w)

When you are asked to send the device back, our shipping addresses are as follows:

#### Europe <a href="#europe" id="europe"></a>

```
Ziga Flis s.p.
Zelena ulica 7
3240 Šmarje pri Jelšah
Slovenia
```

These are the official shipping addresses.  Don’t send your device anywhere else.

### Shipping FAQ <a href="#shipping-faq" id="shipping-faq"></a>

#### Will I receive order confirmation and payment instructions via email? <a href="#will-i-receive-order-confirmation-and-payment-instructions-via-email" id="will-i-receive-order-confirmation-and-payment-instructions-via-email"></a>

Yes!  Once the package is shipped you will receive a confirmation from UPS and/or from <ziga@ava.do>

#### Can I track my Avado delivery? <a href="#can-i-track-my-avado-delivery" id="can-i-track-my-avado-delivery"></a>

Once the box is shipped you will receive a tracking link by email.


