Skip to main content

Bond and Validate

Your node is synced and its session keys exist (see Run a Validator Node). This page turns your validator account into a candidate: it bonds its self-stake, registers the session keys and offers to validate. You can do it from the app or with extrinsics; the result is the same.

Before you start
  • Your validator account holds at least the minimum self-bond — 1,000 ORB on testnet — plus a little for fees.
  • On the testnet admission is permissioned: your account must be on the allowlist. Governance adds it with validatorSet.addValidator, which requires your session keys to be registered first.

Option A — the app​

Open the app, go to Staking → Validator, and connect your validator account with Talisman or SubWallet. The page is a guide with three steps. Each step says what it is for; the one still pending is open, finished steps show a summary you can Review, and steps that need an earlier one are locked.

The validator setup guide with step 1, Bond your self-stake, open and the later steps listed below it

1. Bond your self-stake​

Enter the amount — at least the minimum shown — and press Bond. Rewards default to Compound (added to your bond); you can change the destination later in Settings.

Bond a little less than your whole balance: bonded ORB cannot pay fees, and the next two steps each cost one.

2. Register session keys​

Step 2, Register session keys, with the From my node and Paste keys options
  • From my node — enter your node's RPC address (default ws://127.0.0.1:9944) and press Generate & register: the app asks the node for fresh keys and their proof (author_rotateKeysWithOwner) and registers them. Your browser must reach the node — run it locally or open an SSH tunnel (ssh -L 9944:127.0.0.1:9944 your-server); the validator's RPC is never exposed to the internet.
  • Paste keys — paste the keys and proof your node returned in Generate session keys, then register.

If your keys are already registered — the usual case on the testnet, where addValidator requires them — this step shows Registered.

3. Offer to validate​

Step 3, Offer to validate, with the commission field and the Validate button

Set your commission — the share of your era reward you keep before the rest is split with your nominators — and whether you accept nominations, then press Validate. The page switches to your validator dashboard.

Check the requirements​

All requirements, under the steps, lists every condition the chain checks, with how to fix the ones you do not meet yet.

The All requirements checklist: bonded, on the allowlist, session keys registered, self-bond at the minimum, commission within the ceiling

Option B — extrinsics​

In Polkadot.js Apps connected to wss://rpc-1.testnet.orbinum.io, open Developer → Extrinsics and sign each call with your validator account.

  1. Bond. staking.bond(value, payee) — value at least staking.minValidatorBond, payee = Staked to compound.
  2. Session keys. session.setKeys(keys, proof), if they are not registered yet — see Submit session.setKeys.
  3. Validate. staking.validate(prefs) with prefs = { commission, blocked: false }.
Commission is in parts per billion

commission is a Perbill: 5 % is 50000000, 10 % is 100000000. Entering 5 sets 0.0000005 %.

Rejections​

A validate that could not count is rejected before it costs a fee, with InvalidTransaction::Custom(code):

CodeMeaningFix
1Not on the allowlist (permissioned admission)Ask governance to add the account
2BannedWait for the ban to end, or for governance to lift it
3No session keyssession.setKeys
4Self-bond below the minimumstaking.bondExtra
5Commission above the network ceilingLower it (only if governance set staking.maxCommission)
6Not bondedstaking.bond first
7256 candidates already standingWait until one stops
8Session keys in useApplies to session.setKeys / purgeKeys while you are in the current or queued set — see Rotate session keys

Confirm you are a candidate​

  • The app's Staking → Validator page shows your dashboard with status Waiting and You are a candidate: the next election can select you.
  • In Developer → Chain state, staking.validators(yourAccount) returns your commission.

Your candidacy counts at the next election, about two hours before the current era ends. If you are elected, you start authoring when the next era begins, and status turns Active. Then see Operate a validator.