Validators are node operators, each storing a copy of the blockchain and performing certain functions to keep the system secure. On The Root Network, validator nodes are responsible for authoring new blocks and participating in the finalization protocol. Validators are an essential part of the Proof-of-Stake consensus mechanism.

Running a validator on a live network is a high-risk, high-reward opportunity. You will be accountable for not only your own stake but also the stake of your current nominators. If a mistake occurs and your node gets slashed, your tokens and your reputation will be at risk. However, running a validator can also be very rewarding, knowing that you contribute to the security of a decentralized network while growing your rewards.

It is highly recommended that you have significant system administration experience before attempting to run your own validator. You must be able to handle technical issues and anomalies with your node which you must be able to tackle yourself. Being a validator involves more than just executing The Root Network binary; it requires a comprehensive understanding of system administration to effectively navigate and troubleshoot various challenges.

Success as a Validator

Running a validator node on TRN is only the beginning. To earn meaningful rewards and remain active in the validator set, you must actively attract nominators and set a competitive commission rate. Validator success is measured by the total rewards earned over each 90-day cycle, and those rewards are directly influenced by your ability to gather nominations and set a fair commission.

This guide outlines the two key areas you need to focus on:

1. Set a competitive Commission Rate

Your commission rate determines how much of the staking rewards you take before the remainder is shared with your nominators. While you deserve fair compensation for your time and infrastructure costs, setting a commission that is too high will drive nominators away.

A competitive rate:

  • Signals fairness to nominators
  • Encourages more stake to be delegated to your validator
  • Leads to higher total rewards in the long run

You can adjust your commission at any time using staking.validate, but changes should be done transparently and with the community in mind.

Commission is applied to the rewards earned by your validator, for more details on how these rewards are distributed, see Tokenomics.

2. Attract Nominators

Validators depend on nominations. The more stake backing your validator, the larger your share of the network’s staking rewards. Without nominations, your validator will likely earn little to no rewards, even with perfect uptime.

To increase nominations:

  • Promote your validator on community channels (Discord, forums, social media)
    • You can set a custom RNS to make your validator more easily identifiable in the dashboard
  • Highlight your reliability, performance, and low commission
  • Engage with your nominators, transparency builds trust
  • Ensure consistent uptime and proper configuration

Remember: It’s your responsibility to make your validator visible and appealing. The network does not automatically promote validators.

Requirements

  • A non-custodial FuturePass or an EOA account with at least 5 XRP to pay for 3 transactions and a minimum 100_000 ROOT for staking.
  • A continuous running node that meets the following requirements:
MinimumRecommended
CPU
  • x86-64 compatible;
  • Intel Skylake-SP or Cascade Lake; or AMD EPYC or Ryzen;
  • 2 physical cores @ 3.1GHz
  • Simultaneous multithreading disabled (Hyper-Threading on Intel, SMT on AMD);
  • Prefer single-threaded performance over higher cores count
  • x86-64 compatible
  • Intel Ice Lake-SP; or AMD EPYC or Ryzen;
  • 4 physical cores @ 3.1GHz
  • Simultaneous multithreading disabled (Hyper-Threading on Intel, SMT on AMD);
  • Prefer single-threaded performance over higher cores count
Memory4GB8GB
Storage1TB1TB
NetworkSymmetric networking speed at 500 Mbit/s (= 62.5 MB/s)Symmetric networking speed at 500 Mbit/s (= 62.5 MB/s)
SystemLinux Kernel 5.16 or newerLinux Kernel 5.16 or newer
AWS Instance Typec5.large instancec5.2xlarge instance

Validators Election Process

Anyone meeting the above requirements can signal their intention to become a validator. However, only a limited number of validator nodes are elected in each staking era (24 hours). The remaining nodes will be on the waiting list until the next era, to rejoin the election process.

The election process follows a set of well-known algorithms in the Substrate blockchain ecosystem to find the most optimal way to satisfy the three metrics below:

  1. Maximize the total amount at stake.
  2. Maximize the stake behind the minimally staked validator.
  3. Minimize the variance of the stake in the set.

The Root Network will have 42 validator slots for the open beta. This number will increase as the network matures.

Setup Instructions

Step 1: Run a validator node

Follow the instructions in Running a Node to have your validator node up and running. It’s important to have your validator node set up with telemetry support to ensure that it can be properly monitored.

# Root Mainnet
seed --chain=root --validator \
--name="My TRN Validator Node" \
--sync=warp \
--telemetry-url="wss://telemetry.rootnet.app:9443/submit 0"

# Porcini Testnet
seed --chain=porcini --validator \
--name="My TRN Validator Node" \
--sync=warp \
--telemetry-url="wss://telemetry.rootnet.app:9443/submit 0"

Wait until your node completes the synchronisation before proceeding to the next step. You should see some output similar to the following:

2024-02-08 21:33:18 ⏩ Warping, Importing state, 517.34 Mib (9 peers), best: #0 (0x046e…d338), finalized #0 (0x046e…d338), ⬇ 1.7kiB/s ⬆ 0.8kiB/s
2024-02-08 21:33:23 ⏩ Warping, Importing state, 517.34 Mib (9 peers), best: #0 (0x046e…d338), finalized #0 (0x046e…d338), ⬇ 1.2kiB/s ⬆ 0.6kiB/s
2024-02-08 21:33:28 ⏩ Warping, Importing state, 517.34 Mib (9 peers), best: #10705147 (0xbbd8…77d2), finalized #10705147 (0xbbd8…77d2), ⬇ 1.7kiB/s ⬆ 0.4kiB/s
2024-02-08 21:33:29 Warp sync is complete (517 MiB), restarting block sync.

Step 2: Generate session keys

Run a curl command targeting your node to generate its session keys. This is an important step to link your node with your validator account.

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params": []}' localhost:9944

Info: Update the "localhost:9944" to your node hostname accordingly.

Once the command is executed successfully, you will see a JSON response like this:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "0xded0a4c6440f2b93f2fdc56c80b9a0adb58a6f64157f8a62c12f8cea61c0582c26475545399e236f732a2cc542a8938dbd3d51acbf6dd3fa26b129c549e5283f7d95650ed6948767d2871ba000b0a2618857fb43f9dc2462adbd62c4eb323ee9034c5fff514f25a1befa6409650ed35e056c88c900fc1e52775c831e7a7f92b1c2"
}

The session keys are in the "result" field of the response, leave the terminal open with the response, as we will need to use it in Step 5.

Step 3: Connect FuturePass EOA account with the Portal

  1. Go to the Portal Account page and select From Ethereum Wallet.

  1. Select the EOA account with FuturePass that you want to as validator when the “Connect with MetaMask” dialog opens up and click Next.
  2. Confirm both your EOA account and FuturePass account appears on the Account page.

Step 4: Stake the required ROOT amount

  1. Go to the Portal Extrinsics page and input the values as per the screenshot below:

  1. Click Submit Transaction when done and select Sign when prompted by MetaMask.
  2. The transaction is confirmed when a green tick appears in the top right corner.

Step 5: Set session keys from your node

  1. Go to the Portal Extrinsics page and input the values as per the screenshot below, with the session keys value from Step 2.

|

  1. Click Submit Transaction when done and select Sign when prompted by MetaMask.
  2. The transaction is confirmed when a green tick appears in the top right corner.

Step 6: Request to validate

  1. Go to the Portal Extrinsics page and input the values as per the screenshot below, with the session keys value from Step 2.

Tip: The commission rate is per billion, which means 10000000 = 1%, 100000000 = 10%.

  1. Click Submit Transaction when done and select Sign when prompted by MetaMask.
  2. The transaction is confirmed when a green tick appears in the top right corner.

Step 7: Confirm your validator node is on the Waiting list.

Go to the Portal Staking page and select the Waiting tab and confirm your FuturePass account is on the list, with the correct commission rate:

That’s it, the only thing left is to wait until the next era and see if your validator is elected to be part of the active validators list.

Warning: A single FuturePass account can only be either a validator or a nominator. Avoid using the same FuturePass account to nominate after you’ve completed the above steps, the Staking protocol will change your role back to nominator at the end of the current era. You will need to repeat these steps to switch back to being a validator.