MaxChildKeyTakeSet

Event v195 → v219, v233 → v247, v252 → v265, v273 → v277, v290 → v315, v320 → v402, v411 → v422, v423 → v424, v432 → v440, v441 → current #48

Emitted when maximum child key take rate is changed.

View events on chain
Useful for: validatorsdelegatorssubnet ownersanalytics

The Big Picture

When parent hotkeys share rewards with child keys, the child can set their own take (commission) on their allocated portion. MaxChildKeyTake caps this, preventing child keys from taking excessive commissions. This protects the economic structure of validator organizations and ensures allocated rewards flow through reasonably to stakers.

Why This Matters

If you're delegating to a parent hotkey with children, you need to understand the full take structure. The parent takes their cut, then allocated funds go to children, who take their cut. MaxChildKeyTake limits how much children can extract, protecting your effective return.

Example Scenario

Governance sets MaxChildKeyTake to 20%. MaxChildKeyTakeSet fires. Child keys trying to set 30% take will fail - they're capped at 20%. This ensures that even in complex validator hierarchies, rewards flow through to end stakers reasonably.

Common Questions

How does this interact with delegate take?
They're separate. Delegate take is what the main validator charges. Child key take is what children charge on their allocation. Both have their own min/max limits.
Why cap child key take separately from delegate take?
Parent-child relationships have different economics. Children are often partners or referrers, not independent validators. Different caps allow different incentive structures.
What if a child key is currently above the new max?
Similar to delegates: they're grandfathered but can't increase. If they ever lower their take, they can't raise it back above the new max.

Use Cases

  • Track maximum commission child keys can charge
  • Understand validator organization commission limits
  • Monitor network policies for parent-child relationships
  • Build validator structure analysis tools

How to Use This Event

  • → Monitor for changes affecting validator organizations
  • → Track governance policies for complex validator structures
  • → Build tools analyzing child key economics

From Chain Metadata

maximum childkey take set

Migration Notes

v424 v432 Breaking

arg0 changed from u16 to PerU16

Update decoders: SCALE encoding is positional, so any signature change (added, removed, or type-changed fields, or storage shape changes) shifts byte offsets and existing decoders will misparse this item. Re-derive types from the new metadata.

Triggers

Preconditions

  • Caller has admin/sudo privileges

Effects

Storage Modified

Postconditions

  • MaxChildKeyTake updated

Side Effects

  • Child keys cannot set take above this value

Event Data

#NameTypeDescription
0
arg0
PerU16 Event field #0 (PerU16)

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);

// Subscribe to MaxChildKeyTakeSet events
client.finalizedBlock$.subscribe(async (block) => {
  const events = await api.event.SubtensorModule.MaxChildKeyTakeSet.get(block.hash);
  for (const evt of events) {
    console.log("MaxChildKeyTakeSet:", evt.payload);
  }
});

Version History

v195 block 3,791,350 1 args
v233 block 4,920,350 1 args
v252 block 5,163,656 1 args
v273 block 5,659,032 1 args
v290 block 5,947,548 1 args
v320 block 6,523,566 1 args
v411 block 8,283,784 1 args
v423 block 8,486,593 1 args
v432 block 8,636,190 1 args
v441 block 8,765,683 1 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
48
First Version
v195
Current Version
v472