Hyperparameters
tempo
Blocks per epoch — how often a subnet runs Yuma Consensus and distributes emissions.
tempo is the number of 12-second blocks between a subnet's consensus
epochs. It sets the payout cadence for everyone on the subnet: miners and
validators are paid once per tempo, not per block.
How it works
Each subnet's epoch fires once tempo blocks have passed since its last
epoch: should_run_epoch (pallets/subtensor/src/coinbase/run_coinbase.rs)
checks current_block − LastEpochBlock ≥ tempo. The default is 360 blocks
(~72 minutes); at most 2 subnet epochs run per block, with extras deferred,
and the owner can trigger an early epoch. When the epoch fires, the alpha
accumulated since the previous epoch is distributed via
Yuma Consensus; see
Epochs for scheduling details.
tempo also anchors other parameters: the effective
activity_cutoff is a per-mille
factor multiplied by tempo, and commit-reveal delays are counted in tempos.
Setting a new tempo resets the epoch cycle (apply_tempo_with_cycle_reset
re-anchors LastEpochBlock to the current block), so the next epoch lands a
full tempo after the change.
The timeline below shows emission accruing block by block and paying out at
each epoch boundary — slide tempo across the full owner-settable range
(360 to 50,400 blocks, ~72 minutes to ~7 days) to see the cadence in
wall-clock time.
Emission accrues every block and pays out when the epoch fires: should_run_epoch (coinbase/run_coinbase.rs) triggers once current_block − LastEpochBlock ≥ tempo. Three epochs shown at an illustrative 1 α/block; each diamond is an epoch boundary where Yuma Consensus runs and the accumulated alpha is distributed.
Epoch length
1.2 h
360 blocks × 12 s
Epochs per day
20.0
7,200 blocks per day
Mainnet default
360 blocks
~72 minutes per epoch
Owner-settable range
360 – 50,400
~72 minutes to ~7 days
Reading and setting
Inspect with:
btcli sudo get --netuid N --name tempoOwner-settable:
btcli sudo set --netuid N --name tempo --value 720This dispatches sudo_set_tempo (AdminUtils), which is owner-or-root: the
owner is bounded to 360–50,400 blocks (~72 minutes to ~7 days) and
rate-limited to one change per 360 blocks; root may set any u16. Both paths
respect the admin freeze window, and a successful change resets the epoch
cycle so the next epoch lands a full new tempo after the change.
Related
rho ·
kappa ·
activity_cutoff_factor ·
max_validators ·
commit_reveal_period