Skip to content

Subnet Mechanisms

Each subnet can run multiple mechanisms (formerly called sub-subnets), allowing one subnet to work on several distinct challenges. This page covers how a subnet owner divides the subnet’s alpha_out across those mechanisms.

For how alpha_out is then split among subnet owner / miners / validators inside a single mechanism, see Subnet emission overview. For the broader emission flow, see Subnet Emission: tao and alpha.

In V1 of subnet mechanisms, all miners and validators in a subnet compete in every mechanism. The owner sets how the subnet’s per-block alpha_out is split across mechanisms via:

pub fn sudo_set_mechanism_emission_split(
origin: OriginFor<T>,
netuid: NetUid,
maybe_split: Option<Vec<u16>>,
) -> DispatchResult

The maybe_split vector defines the percentage of subnet emission that flows to each mechanism.

A subnet may host up to 8 mechanisms.

How mechanism splits feed participant rewards

Section titled “How mechanism splits feed participant rewards”

Inside each mechanism, the standard split applies (owner / miners / validators). Rewards for an individual miner or validator are calculated per mechanism and then aggregated to the subnet level using the mechanism-split weighting.

Concretely:

  • A miner’s incentive and a validator’s dividend are computed inside each mechanism.
  • Each mechanism contributes to the participant’s subnet reward in proportion to its share of the split.
  • The summed result is what the participant earns from the subnet per tempo.

See: