TempoSet

Event Re-added v121 → v122, v123 → v127, v133 → v135, v136 → v148, v149 → v165, v195 → v219, v233 → v247, v252 → v265, v273 → v277, v290 → v315, v320 → current #50

Emitted when a subnet 's tempo (emission interval) is changed.

View events on chain
Useful for: subnet ownersminersvalidatorsanalyticsdevelopers

The Big Picture

Tempo is how often a subnet 'ticks' - calculating consensus, distributing emissions, and evaluating performance. A faster tempo (lower value) means more frequent emissions and quicker feedback loops, but more on-chain computation. A slower tempo (higher value) means less frequent payouts but lower overhead. Subnet owners tune this based on their use case - real-time inference subnets might want fast tempo, while batch-processing subnets can be slower.

Why This Matters

Tempo directly affects your reward frequency and operational requirements. A 12-second tempo means you could see rewards every 12 seconds (but need to perform well each cycle). A 360-second tempo means rewards every 6 minutes (smoother but slower feedback). Know your subnet's tempo to set appropriate expectations.

Example Scenario

Subnet 1 wants faster feedback for their text-inference use case. The owner changes tempo from 100 blocks to 50 blocks. TempoSet fires with netuid 1 and tempo 50. Now emissions happen twice as often - validators need to set weights more frequently, and miners get paid (or penalized) in half the time.

Common Questions

What's a typical tempo value?
Common values range from 50-360 blocks (roughly 10 minutes to 1 hour depending on block time). Check top subnets for benchmarks.
Does changing tempo affect my existing stake?
Not directly. Your stake is unchanged, but reward frequency changes. Faster tempo = more frequent but smaller rewards. Slower tempo = less frequent but larger rewards. Long-term earnings depend on performance, not tempo.
Can tempo be changed frequently?
It's rate-limited to prevent instability. Subnet owners can't spam tempo changes - there's a cooldown period between changes.

Use Cases

  • Adjust emission frequency to match your subnet's use case
  • Monitor when subnets change their economic parameters
  • Adapt miner/validator strategies to new tempo
  • Build alerts for subnet parameter changes

How to Use This Event

  • Monitor subnets you participate in for tempo changes
  • Track tempo changes across the network to understand trends
  • Adjust your infrastructure refresh rates based on tempo

From Chain Metadata

setting tempo on a network

Triggers

Preconditions

  • Caller has admin privileges or is subnet owner
  • Valid tempo value (within allowed range)
  • Hyperparameter change not rate limited

Effects

Postconditions

  • Tempo storage updated for subnet
  • Future epochs will use new tempo

Side Effects

  • Changes emission frequency for subnet
  • Affects how often miners/validators receive rewards
  • May impact weight-setting strategies

Event Data

#NameTypeDescription
0
arg0
u16 Event field #0 (u16)
1
arg1
u16 Event field #1 (u16)

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Subscribe to TempoSet events
api.query.system.events((events) => {
  events
    .filter(({ event }) =>
      event.section === stringCamelCase("SubtensorModule") &&
      event.method === "TempoSet"
    )
    .forEach(({ event }) => {
      console.log("TempoSet:", event.data.toHuman());
    });
});

Version History

v121 block 518,345 2 args
v123 block 720,235 2 args
v133 block 1,404,224 2 args
v136 block 1,756,781 2 args
v149 block 3,014,339 2 args
v195 block 3,791,350 2 args
v233 block 4,920,350 2 args
v252 block 5,163,656 2 args
v273 block 5,659,032 2 args
v290 block 5,947,548 2 args
v320 block 6,523,566 2 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
50
First Version
v121
Current Version
v393