> For the complete documentation index, see [llms.txt](https://docs.firmachain.org/master/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.firmachain.org/master/node-and-validators-guide/validator/register-a-validator.md).

# Register a validator

This document provides information on registering as the FirmaChain’s network Validator.

## staking create-validator

If you join the network as a Validator, you will be signing on newly created blocks and will receive rewards as a result of such action.

#### 1. Check validator public key

```
firmachaind comet show-validator
# output example: {"@type":"/cosmos.crypto.ed25519.PubKey","key":"<BASE64_KEY>"}
```

Retrieve your validator node's public key. You will use the `key` value from the output in the next steps.

#### 2. Create validator config file

```
touch validator.json && vi validator.json
```

Create the file `validator.json` and open it with an editor. This file will contain your  validator config.

#### 3. Fill in validator information

```
{
    "pubkey": "{using pubkey}",
    "amount": "1000000ufct",
    "moniker": "myvalidator",
    "identity": "optional identity signature (ex. UPort or Keybase)",
    "website": "validator's (optional) website",
    "security": "validator's (optional) security contact email",
    "details": "validator's (optional) details",
    "commission-rate": "0.1",
    "commission-max-rate": "0.2",
    "commission-max-change-rate": "0.01",
    "min-self-delegation": "1"
}
```

Fill in the `validator.json` file with the following details:

<table data-header-hidden><thead><tr><th width="218.6991490345118"></th><th width="142"></th><th width="381"></th></tr></thead><tbody><tr><td><strong>Name</strong></td><td><strong>Type</strong></td><td><strong>Description</strong></td></tr><tr><td>amount</td><td>ufct</td><td>Amount to delegate.</td></tr><tr><td>moniker</td><td>string</td><td>Custom username of your node.</td></tr><tr><td>details</td><td>string</td><td>Brief Introduction.</td></tr><tr><td>website</td><td>string</td><td>Your website address. (only if you have one)</td></tr><tr><td>security-contact</td><td>string</td><td>Your e-mail address.</td></tr><tr><td>commission-rate</td><td>float</td><td>Validator's commission rate</td></tr><tr><td>commission-max-rate</td><td>float</td><td>Validator's maximum commission rate.</td></tr><tr><td>commission-max-change-rate</td><td>float</td><td>Maximum rate of change of a validator's commission rate per day.</td></tr><tr><td>min-self-delegation</td><td>integer</td><td>Minimum amount of tokens that the node operator promises to keep bonded.</td></tr><tr><td>identity</td><td>string</td><td>keybase 64bit security code.</td></tr></tbody></table>

#### 4. Submit validator registration

```bash
firmachaind tx staking create-validator validator.json \
--chain-id colosseum-1 \
--fees 20000ufct \
--from <key_name>
```

Run the above command to broadcast the validator registration transaction using the information defined in `validator.json`.

* `--chain-id`: The chain ID of the network (here `colosseum-1`)
* `--fees`: Transaction fee (e.g., `20000ufct`)
* `--from`: The key name that signs the transaction

### How to get identity 64bit code

The process to retrieve this key data is relatively simple. Firstly, log in to keybase.io. Once you generate the key, copy and paste the code provided in the red box in the image below.\
\&#xNAN;*\** *Do not include any space in the --identity field.*

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.firmachain.org/master/node-and-validators-guide/validator/register-a-validator.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
