sudo_set_min_childkey_take

Call v195 → current #76

Sets minimum child key take rate (admin).

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: developerssubnet owners

The Big Picture

Without a floor, children might compete to 0% take to attract parents, making childkey operations unsustainable. MinChildKeyTake ensures children always receive minimum compensation for their work. This protects the supply side of the childkey marketplace.

Why This Matters

A healthy childkey ecosystem needs viable children. If takes race to zero, quality operators can't cover costs and leave. The minimum ensures operating as a child remains economically feasible, maintaining supply.

Example Scenario

Children are undercutting each other with 0.1% takes, making operations unsustainable. Governance sets a floor. Admin calls sudo_set_min_childkey_take(min_take=0.05). Now all children must take at least 5%, ensuring basic compensation.

Common Questions

Why would children compete to zero?
To attract parent stake. Like price wars - everyone loses but feels compelled to compete. The minimum prevents this destructive race.
What happens to existing lower takes?
Implementation-dependent. They might be grandfathered or forced up. Check network behavior and migration rules.

Use Cases

  • Ensure children receive minimum compensation
  • Prevent unsustainable 0% take competition
  • Maintain childkey operator viability
  • Balance market dynamics in parent-child system

From Chain Metadata

Sets the minimum allowed childkey take. This function can only be called by the root origin.

Input Parameters

#NameTypeDescription
0
take
u16 take (u16)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Caller has sudo privileges
  • Valid take rate specified (0-MaxChildKeyTake)

Effects

Events Emitted

Storage Modified

Postconditions

  • MinChildKeyTake updated
  • Affects all future childkey take changes

Side Effects

  • Child keys cannot set take below this
  • Prevents race-to-bottom competition

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

// Build sudo_set_min_childkey_take call
const take = 0;

const call = api.tx[stringCamelCase("SubtensorModule")][stringCamelCase("sudo_set_min_childkey_take")](
  take
);

Runtime Info

View Source
Pallet Index
7
Call Index
76
First Version
v195
Current Version
v393