CKBurn
Storage Plain v315 → currentFraction of a parent dividend share recycled when parent and child hotkeys have different coldkeys, as u64 / u64::MAX.
Explore chainThe Big Picture
Child hotkeys route dividends back to their parents. When the parent belongs to a different coldkey, this fraction of the flow is recycled into the subnet pool. The child take is computed on the same gross share, and both are removed before the parent is credited.
Use Cases
- Model parent earnings from a child hotkey under another coldkey
- Reconcile recycled alpha at epoch blocks
- Build childkey management tools
From Chain Metadata
ITEM --> CK burn
Purpose & Usage
Purpose
Set the childkey burn proportion applied at every epoch to dividends flowing from a child hotkey to a parent under a different coldkey. Not a registration or setup fee.
Common Query Patterns
- Single value query
- Divide by u64::MAX (18446744073709551615) to get the fraction
Notes
- Applied in get_parent_child_dividends_distribution (run_coinbase.rs L1132-L1143 at da06f033, v452): for each parent whose coldkey differs from the child coldkey, burn_take = ck_burn × parent_emission is recycled with recycle_subnet_alpha and child_take = childkey_take × parent_emission goes to the child. Parents under the same coldkey pay neither.
- It is charged every epoch on the dividend flow, so it is a rate on inherited earnings, not a one-off cost.
Stored Value
Value in RAO (÷10⁹ for TAO)
Default Value
Absent keys read as this value — querying a key that has never been written returns this default, not an error or empty result.
Decoding the value
u64 normalised to u64::MAX = 100%get_ck_burn (pallets/subtensor/src/staking/stake_utils.rs L173-L177 at da06f033, v452) divides the stored u64 by u64::MAX into a U96F32 proportion. Same convention as TaoWeight, which sits beside it.
Number(value as bigint) / Number(2n ** 64n - 1n)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 CKBurn storage (no keys - plain value)
const result = await api.query.SubtensorModule.CKBurn.getValue();
console.log("CKBurn:", result);Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Plain
- First Version
- v315
- Current Version
- v472