> ## Documentation Index
> Fetch the complete documentation index at: https://mantrachain.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Becoming a validator

## Synced Node [#synced-node](#synced-node)

Before creating a validator, ensure you have first followed the instructions on how to [Setup & Run a Node](https://mantrachain.mintlify.site/operators/node-setup-and-deployment/validator-nodes/running-a-node.md).

## Initialize Wallet Keyring [#initialize-wallet-keyring](#initialize-wallet-keyring)

If you decide you want to turn your node into a validator, you will first need to add a wallet to your keyring.

While you can add an existing wallet through a seed phrase or importing a private key, the example shows how to create a new wallet (replace `$KEY_NAME` with a name of your choosing):

```bash theme={null}
mantrachaind keys add $KEY_NAME
```

The above command will produce the following output:

```
- address: mantra1q55nrzygas0nespfu8mwt2yntq8gxll3kyug82
  name: validator-mchain-test-node-keys
  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A/YebpAX8AqUNcNXcqIy53fJo8BGFCSaQA5A0XQWMlCG"}'
  type: local
	
**Important** write this mnemonic phrase in a safe place.
It is the only way to recover your account if you ever forget your password.
	
expect kid unfair uniform calm debris meadow despair vintage arrive walnut vast upset cart step funny truth vault naive note capable spray shine human
```

Ensure you write down the mnemonic as you can not recover the wallet without it. To ensure your wallet was saved to your keyring, you can verify that the wallet is listed by using the following command:

```bash theme={null}
mantrachaind keys list
```

### **Import keys**

Alternatively, if you already have an existing mnemonic that you'd like to use, then run the following:

```bash theme={null}
mantrachaind keys add $KEY_NAME --recover
```

**KEEP THE MNEMONIC PHRASE IN A SAFE PLACE!**

### View Validator Public Key [#validator-public-key](#validator-public-key)

The last thing needed before initialising the validator is to obtain your validator public key which was created when you first initialized your node. To obtain your validator pubkey:

```
mantrachaind tendermint show-validator
```

## Create Validator Command [#create-validator-command](#create-validator-command)

Ensure you have a small amount of MANTRA on the wallet address you are using on your keyring in order to successfully send a transaction. Once you have have a balance on the address on your keyring, you can now send the `create-validator` transaction.

Here is the same command but with example values and an example of how certain parameters can be loaded from an external file, i.e. `validator.json`:

```bash theme={null}

echo "{
	\"pubkey\": $(mantrachaind tendermint show-validator),
	\"amount\": \"10000000000000000000000amantra\",
	\"moniker\": \"MANTRA Chain Foundation\",
	\"identity\": \"xxxxxx\",
	\"website\": \"https://mantrachain.io\",
	\"security\": \"security@mantrachain.io\",
	\"details\": \"MANTRA is a purpose-built RWA Layer 1 Blockchain, capable of adherence to real world regulatory requirements.\",
	\"commission-rate\": \"0.1\",
	\"commission-max-rate\": \"0.2\",
	\"commission-max-change-rate\": \"0.01\",
	\"min-self-delegation\": \"1\"
}
" > validator.json

mantrachaind tx staking create-validator validator.json --from $KEY_NAME --chain-id mantra-dukong-1 --gas="auto" --gas-adjustment 2 --gas-prices="40000000000amantra"
```

If you need further explanation for each of these command flags:

* the `from` flag is the `$KEY_NAME` you created when initialising the key on your keyring
* the `amount` flag is the amount you will place in your own validator in `amantra`
* the `pubkey` is the validator public key found earlier
* the `moniker` is a human readable name you choose for your validator
* the `security-contact` is an email your delegates are able to contact you at
* the `chain-id` is the active chain with to which you will connect (i.e. `mantra-1` for mainnet, `mantra-dukong-1` for public testnet.)
* the `commission-rate` is the rate you will charge your delegates for the privilege of running the validator on their behalf
* the `commission-max-rate` is the most you are allowed to charge your delegates
* the `commission-max-change-rate` is how much you can increase your commission rate in a 24 hour period
* the `min-self-delegation` is the lowest amount of personal funds the validator is required to have in their own validator to stay bonded
* the `gas-prices` is the amount of gas used to send this `create-validator` transaction


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.