The Big Picture
When a parent delegates stake to a child, the child earns rewards. ChildkeyTake is the child's commission - the percentage they keep before passing rewards back to the parent. Higher take means more for the child, less for the delegating parent.
Why This Matters
What cut does this child keep? ChildkeyTake determines how much flows back to parents. Lower take = better for parents; higher take = better for child operators.
Example Scenario
Query ChildkeyTake(hotkey=child_Y, netuid=1) returns 1500. That's 15% take (1500/10000). The child keeps 15% of their earnings, passing 85% to parents.
Common Questions
- How do basis points work?
- 1500 basis points = 15%. 10000 = 100%. Divide by 100 to get percentage.
- Are there limits on take?
- Yes, check MinChildkeyTake and MaxChildkeyTake for the allowed range.
- Who sets the take rate?
- The child hotkey sets their own take rate. Parents choose whether to accept it by establishing or maintaining the relationship.
Use Cases
- Check child commission rate before establishing relationship
- Compare child hotkeys by take rate
- Calculate parent returns after child take
- Build child key comparison tools
- Analyze child key economics
From Chain Metadata
DMAP ( hot, netuid ) --> take | Returns the hotkey childkey take for a specific subnet
Purpose & Usage
Purpose
Track what percentage child receives from allocated rewards - their commission.
Common Query Patterns
- Query by hotkey and netuid
- Compare child take rates
- Calculate net returns from child relationships
Notes
- Value is in basis points
Query Keys
Stored Value
value (u16)
Relationships
Modified By
Related Events
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 });
// Query ChildkeyTake storage
const key1 = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const key2 = 0;
const result = await api.query
[stringCamelCase("SubtensorModule")]
[stringCamelCase("ChildkeyTake")](
key1,
key2
);
console.log("ChildkeyTake:", result.toHuman());On-Chain Activity
<10K estimated writes
#58 most written storage item
Modified via user-submitted extrinsics
As of block 7,429,232
Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Map
- First Version
- v195
- Current Version
- v393