ActivityCutoff

Storage Map v101 → v411

Blocks of inactivity before pruning .

Explore chain
Queried by: minersvalidatorssubnet ownersdevelopers

The Big Picture

Neurons must be active to stay registered. ActivityCutoff defines the window - if a neuron shows no activity for this many blocks, they become pruning candidates. This prevents squatting and ensures registered neurons actually contribute.

Why This Matters

Going offline? Know your deadline. If you're inactive for ActivityCutoff blocks, your pruning score suffers and you risk losing your slot to someone more active.

Example Scenario

Query ActivityCutoff(netuid=1) returns 5000 blocks (~2.7 hours). You must show some activity at least every 5000 blocks or be flagged as inactive.

Common Questions

What counts as activity?
Depends on neuron type. Miners: serving requests. Validators: setting weights. Check subnet-specific requirements.
What if I'm temporarily offline?
Brief outages are usually fine if you're back before the cutoff. Extended maintenance should be planned around this window.
Can subnet owners change this?
Yes, ActivityCutoff is tunable. Longer cutoff = more forgiving to inactive neurons.

Use Cases

  • Check how often you need to show activity
  • Plan maintenance windows around activity requirements
  • Build activity monitoring and alerts
  • Understand pruning risk from inactivity
  • Design subnet activity parameters

From Chain Metadata

MAP ( netuid ) --> activity_cutoff

Purpose & Usage

Purpose

Control neuron activity requirements - neurons must show activity within this window.

Common Query Patterns

  • Query by netuid
  • Calculate activity deadlines
  • Monitor activity compliance

Query Keys

#NameTypeDescription
1
netuid
u16 netuid (u16, hashed key component)

Stored Value

activity_cutoff (u16)

Relationships

Modified By

Related Events

Code Examples

import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Query ActivityCutoff storage
const netuid = 1;

const result = await api.query.SubtensorModule.ActivityCutoff.getValue(netuid);
console.log("ActivityCutoff:", result);

Version History

v101 block 1 Added
v123 block 720,235 Internal re-bind
v149 block 3,014,339 Internal re-bind
v166–v194 · runtime versions skipped on chain (never deployed)
v195 block 3,791,350 Internal re-bind
v278–v289 · runtime versions skipped on chain (never deployed)
v290 block 5,947,548 Internal re-bind Current

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Map
First Version
v101
Current Version
v411