# Migrate Validator

## Migrate your validator to another machine

#### 1. install the testnet on your new server

#### 2. Confirm that you have the recovery seed phrase information for the active key running on the old machine

**backup your key**

```
junctiond keys export mykey
```

> *This prints the private key that you can then paste into the file `mykey.backup`*

**get list of keys**

```
junctiond keys list
```

#### 3. Recover the active key of the old machine on the new machine

**This can be done with the mnemonics**

```
junctiond keys add mykey --recover
```

**Or with the backup file `mykey.backup` from the previous step**

```
junctiond keys import mykey mykey.backup
```

#### 4. Wait for the new full node on the new machine to finish catching-up

**To check synchronization status**

```
junctiond status 2>&1 | jq .SyncInfo
```

> *`catching_up` should be equal to `false`*

#### 5. After the new node has caught-up, stop the validator node

> *To prevent double signing, you should stop the validator node before stopping the new full node to ensure the new node is at a greater block height than the validator node* *If the new node is behind the old validator node, then you may double-sign blocks*

**Stop and disable service on old machine**

```
sudo systemctl stop junctiond
sudo systemctl disable junctiond
```

> *The validator should start missing blocks at this point*

#### 6. Stop service on new machine

```
sudo systemctl stop junctiond
```

#### 7. Move the validator's private key from the old machine to the new machine

**Private key is located in: `~/.`**&#x6A;unctio&#x6E;**`/config/priv_validator_key.json`**

> *After being copied, the key `priv_validator_key.json` should then be removed from the old node's config directory to prevent double-signing if the node were to start back up*

```
sudo mv ~/.junction/config/priv_validator_key.json ~/.junction/bak_priv_validator_key.json
```

#### 8. Start service on a new validator node

```
sudo systemctl start junctiond
```

> *The new node should start signing blocks once caught-up*

#### 9. Make sure your validator is not jailed

**To unjail your validator**

```
junctiond tx slashing unjail --from $WALLET --chain-id junction --fees 200amf -y 
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://services.aknodes.com/airchains/migrate-validator.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
