Hyperparameters

Epoch consensus

Select Yuma or Null for a subnet's epoch reward calculation.

View as Markdown

epoch_consensus selects the subnet's reward calculation. Yuma (wire value 0) is the default; Null (wire value 1) uses the highest-stake permitted validator's weights for incentives and eligible stake proportions for dividends. Inactive validators retain their eligible stake. Null does not update bond storage.

Owners set the enum with:

btcli hparams set --netuid 1 --name epoch_consensus --value Null

The SDK accepts SetHyperparameter(netuid=1, name="epoch_consensus", value="Null"). Use Yuma to return to normal consensus. Current values appear as 0 or 1 in the subnet hyperparameters read.

Null capacity is limited to floor(2500 / mechanism_count) UIDs. Yuma capacity is limited to floor(256 / mechanism_count). Returning to Yuma fails until the actual population fits its limit; prune explicitly beforehand. Successful switching also clamps configured capacity to that limit. Switching to Null preserves current capacity. Owner authentication, the admin window and owner hyperparameter rate limits still apply.

To prune through sequential bounded transactions and switch back automatically, use btcli hparams trim-null --netuid 1 --switch-to-yuma. The workflow is resumable, reports progress and uses the normal owner signing flow. See the Null consensus guide for waiting limits and recovery after uncertain submissions.

See Null consensus for the reward rules, precise weight submission, timelock limits and integer rounding.