SetChildrenScheduled

Event Re-added v216 → v219, v233 → v247, v252 → v265, v273 → v277, v290 → v315, v320 → v326, v334 → v367, v372 → v377, v385 → current #73

Emitted when a child hotkey change is scheduled for future execution.

View events on chain
Useful for: validatorsdelegatorssubnet ownersanalytics

The Big Picture

Child key changes aren't instant - they're scheduled in advance to protect delegators. If a validator could instantly redirect rewards to new addresses, delegators might be caught off guard. The schedule delay (typically days) gives everyone time to review the change and adjust their delegation if they don't like it. This event is the 'heads up'.

Why This Matters

As a delegator, you deserve to know when your validator plans to change their reward structure. This event tells you: 'In X blocks, the children will change to Y.' If you don't like the new arrangement, you have time to move your delegation.

Example Scenario

You're delegated to Validator Z. SetChildrenScheduled fires showing: Validator Z will add a new 40% child in 3 days. Currently Z keeps 100%, but soon 40% goes to the new partner. You can decide: Is this partner legit? Do I trust this change? You have 3 days to unstake if you want out before the change.

Common Questions

Can the schedule be cancelled?
Typically yes, before execution. Check the specific implementation. The parent can cancel their own scheduled change during the delay period.
What happens if I don't react to a scheduled change?
The change executes automatically after the delay. Your stake stays with the validator, but rewards will be split according to the new child key arrangement.
How long is the delay?
Check the SetChildKeyScheduleDuration constant. It's designed to give meaningful notice - typically hours to days, not minutes.

Use Cases

  • Schedule changes to reward distribution with advance notice
  • Detect when validators plan to change their child key structure
  • Give delegators time to react before changes take effect
  • Track pending organizational changes to validators

How to Use This Event

  • Monitor validators you're delegated to for scheduled changes
  • Build notification systems for upcoming child key changes
  • Track pending changes network-wide

From Chain Metadata

Setting of children of a hotkey have been scheduled

Triggers

Emitted by

Preconditions

  • Caller owns the parent hotkey
  • Valid schedule parameters provided
  • No conflicting pending schedule exists

Effects

Postconditions

  • PendingChildKeys updated with scheduled change
  • Change will execute after delay period

Side Effects

  • Allows time for delegators to react to changes
  • Existing children continue receiving rewards until execution

Event Data

#NameTypeDescription
0
arg0
AccountId Event field #0 (AccountId) (hex -> SS58)
1
arg1
u16 Event field #1 (u16)
2
arg2
u64 Event field #2 (u64)
3
arg3
Vec<(u64, AccountId)> VecEvent field #3 (Vec<(u64, AccountId)>)

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 SetChildrenScheduled events
api.query.system.events((events) => {
  events
    .filter(({ event }) =>
      event.section === stringCamelCase("SubtensorModule") &&
      event.method === "SetChildrenScheduled"
    )
    .forEach(({ event }) => {
      console.log("SetChildrenScheduled:", event.data.toHuman());
    });
});

On-Chain Activity

Emission Frequency
●●●○○○ Active 100K–1M emissions

Regular feature-level activity

#39 most emitted event

As of block 7,429,232

Version History

v216 block 4,510,996 4 args
v233 block 4,920,350 4 args
v252 block 5,163,656 4 args
v273 block 5,659,032 4 args
v290 block 5,947,548 4 args
v320 block 6,523,566 4 args
v334 block 6,811,690 4 args
v372 block 7,430,358 4 args
v385 block 7,782,670 4 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
73
First Version
v216
Current Version
v393