Skip to main content

Bittensor Validator

Run and monitor a Bittensor subnet validator.

Bundled with Minerva and active by default — there is nothing to install.

Skill metadata​

Pathskills/bittensor/bittensor-validator
Version1.0.0
Authormoy-boy (@moy-boy), Minerva Agent
LicenseMIT
Platformslinux, macos, windows
TagsBittensor, TAO, Subnet, Validator, Stake, Weights, Dividends, Delegation, btcli, Blockchain
Related skillsbittensor-miner, bittensor-subnet-owner

Reference: full SKILL.md​

info

The following is the complete skill definition that Minerva loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.

Bittensor Validator Skill

Helps a user earn and keep a validator permit, stay in consensus, and manage stake and delegation. Chain reads use bittensor_subnet, bittensor_metagraph and bittensor_account; staking, child hotkeys and take changes are btcli commands the user approves every time. Validator code (scoring miners, setting weights) comes from each subnet's repository.

When to Use​

  • The user asks what it takes to validate on a subnet, or why their validator lost its permit
  • The user wants stake, dividends or weight-setting health for a validator hotkey
  • The user wants to add or move stake, set child hotkeys, or change their delegate take

Prerequisites​

  • btcli installed and a wallet the user created in their own terminal. The agent never creates keys and never asks for passwords or mnemonics.
  • A registered hotkey on the subnet and enough stake behind it to rank among the subnet's validators.

How to Run​

Read with the Bittensor tools (default network finney). Run signing btcli commands through terminal; each one shows an approval prompt, and when btcli asks for the wallet password, stop and hand the user the exact command to run in their own terminal.

Quick Reference​

GoalHow
Permit thresholdbittensor_metagraph with validators_only: true, sort_by: "stake"; bittensor_subnet → max_validators
Weight-setting rulesbittensor_subnet → hyperparameters weights_rate_limit, activity_cutoff, commit_reveal_weights_enabled, min_allowed_weights
My validatorbittensor_metagraph with hotkeys: ["<hotkey>"] → validator_permit, dividends, blocks_since_update
Stake by coldkeybittensor_account on the coldkey
Add stake (signs)btcli stake add --netuid N --wallet-name W --hotkey H --amount X --network finney
Remove stake (signs)btcli stake remove --netuid N --wallet-name W --hotkey H --amount X
Child hotkeys (signs)btcli stake child set --netuid N --children <ss58> --proportions 0.5 --wallet-name W --hotkey H
Delegate take (signs)btcli sudo set-take --take 0.09 --wallet-name W --hotkey H

Procedure​

  1. Assess the subnet. bittensor_subnet gives max_validators, validator_permits and the weight hyperparameters. bittensor_metagraph with validators_only: true and sort_by: "stake" shows the stake at the last permit slot: the user needs more than that to hold a permit.
  2. Stake. Confirm amount, netuid and hotkey, then btcli stake add. Staking buys the subnet's alpha at the current price, so large amounts move the price: keep safe staking on (btcli's default) and use --tolerance rather than --unsafe.
  3. Run the validator from the subnet repository. It must set weights more often than activity_cutoff blocks allows, and no faster than weights_rate_limit. With commit-reveal enabled, weights are committed and revealed later by the validator software.
  4. Monitor. Watch validator_permit, dividends, emission_alpha and blocks_since_update for the hotkey. blocks_since_update growing past activity_cutoff means weights stopped landing; check the validator process and its logs with terminal or read_file on the user's log path.
  5. Delegation and children. Child hotkeys let one validator identity validate on several subnets with a share of its stake; set proportions deliberately and re-read with bittensor_account after.

Pitfalls​

  • Permits are recomputed as stake moves; a validator near the cut-off can lose its permit without any change on its side.
  • Stake and dividends on a subnet are denominated in its alpha; convert with price_tao before comparing subnets.
  • Never read ~/.bittensor/wallets or ask for key material; signing always goes through approval.
  • Changing take is rate-limited on chain; plan changes rather than toggling.

Verification​

  • bittensor_metagraph with the hotkey shows validator_permit: true and a small blocks_since_update.
  • bittensor_account on the coldkey shows the stake on the intended netuid and hotkey after staking.