> For the complete documentation index, see [llms.txt](https://docs.ava.do/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ava.do/quick-help/switching-from-prysm-to-teku-etc..md).

# 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. Remove the validators from the existing Consensus Client (trash icon), or remove the existing Consensus Client entirely. **Stopping (pausing) the Consensus Client is not enough.**
3. Install and sync the target Consensus Client.
4. **Allow a minimum of 5 epochs to pass** between removing 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.

### 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** setting (see [Configuring the Consensus Client](/staking-ethereum/setting-up-the-eth-clients/configuring-the-consensus-client.md)) 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.md) process using a tool like the Wagyu Key Gen software. A set of output looks like this:

<figure><img src="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2FMcksHiyae3Ntc5ULVFe9%2Fhelp-move-keys.png?alt=media&amp;token=0b5e9a7a-8122-4458-820e-0a86a2f84758" 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.

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.

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.md) 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="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2FI9ZI3cK9inOXhvwYLwjK%2Fhelp-move-download-keys.png?alt=media&amp;token=af8ecf4d-e79b-4bb7-9f84-68d3a30faec2" alt="" data-size="original">
{% endhint %}

### Rocketpool Stakers

For Rocket Pool stakers, download a **fresh backup** first: open the Rocket Pool app, go to **Wallet** and click **Download backup**. The file contains your node wallet and validator keys.

See [Wallet and backups](/staking-ethereum/rocket-pool/wallet-and-backups.md) for details.

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 Rocket Pool app will ask you to approve loading the validators into the new Consensus Client. In this scenario, you won't actually need to use the Backup File.

### Stader Stakers

{% hint style="danger" %}
Stader is deprecated and no longer supported on AVADO — this is only relevant if you have an existing Stader validator.
{% endhint %}

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

{% hint style="info" %}
**Moving away from Nimbus or Teku?** In the new app, click **Remove** next to each validator. Your browser downloads its slashing-protection file. Keep it, then wait at least 5 epochs (about 32 minutes). See [The Nimbus and Teku app](/staking-ethereum/setting-up-the-eth-clients/the-nimbus-app.md#move-a-validator-to-another-machine).
{% endhint %}

Before you load your validators to another Consensus Client, you must shut down your existing validators. There are two ways to do this:

{% hint style="danger" %}
**To move keys, remove them first. Stopping is not enough.**

Do not just stop (pause) the old Consensus Client. A stopped app does not reliably stay stopped: an update of the app, or a restart of your AVADO, can start it again. Your keys would then run in two places at once, and your validators would be **slashed**. Always use one of the two ways below.
{% endhint %}

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="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2FcNRvBCs5EmwMcE9mbcqO%2Fhelp-move-trash-icon.png?alt=media&amp;token=761b271a-e35b-4f46-92b1-750748ef457e" 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, open it from **My DApps**, and click **Remove** from the **…** menu on its page.

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.md) section (especially: [Step 2](/staking-ethereum/setting-up-the-eth-clients.md#step-2-install-consensus-client), [Step 3](/staking-ethereum/setting-up-the-eth-clients.md#step-3-configure-the-consensus-client), and [Step 4](/staking-ethereum/setting-up-the-eth-clients.md#step-4-syncing-the-consensus-client)).

Setting up and syncing the Consensus Client will typically take only a few minutes to no more than an hour.

Remember to configure the **Default Fee Recipient Address** and the **Execution Engine** settings (see [Configuring the Consensus Client](/staking-ethereum/setting-up-the-eth-clients/configuring-the-consensus-client.md)).

Rocket Pool users need to change the `CONSENSUSCLIENT` setting on the Rocket Pool page in the AVADO Admin. See [Validator keys and your consensus client](/staking-ethereum/rocket-pool/validator-keys.md#which-consensus-client).

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.

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.

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 removing the validators from 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.md) section for details.
* **For Rocket Pool Stakers:** Open the Rocket Pool app. With `CONSENSUSCLIENT` set to the new client, Home asks you to approve loading your validator keys into it once they are gone from the old client: type **LOAD** and confirm. See [Validator keys and your consensus client](/staking-ethereum/rocket-pool/validator-keys.md).
* **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.
