Transactions
set-childkey-take
Set the childkey take for a hotkey on a subnet.
The childkey take is the fraction of emissions a child hotkey keeps from the stake weight its parents delegate to it, before passing the remainder through. It is set per subnet, unlike the global delegate take. Signed by the coldkey that owns the child hotkey. The chain enforces both its minimum and maximum childkey take bounds, and rate-limits only increases — decreases apply immediately, so lowering the take is always available.
| Signer | Pallet | Wraps |
|---|---|---|
coldkey | SubtensorModule | SubtensorModule.set_childkey_take |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
netuid | integer | yes | Subnet the childkey take applies to. |
take | integer | yes | New take as a u16 proportion (fraction of 65535, e.g. 5898 is about 9 percent). The chain enforces its configured take bounds. |
hotkey_ss58 | string | no | Hotkey the operation applies to. |
Address parameters (--hotkey, --coldkey, --dest, ...) accept a raw ss58
address, an address-book or proxy-book name, or a local wallet/hotkey name.
CLI
Preview with --dry-run (shows fee, effects, and policy result without
submitting), then submit:
btcli tx set-childkey-take \
--netuid <int> \
--take <int> --dry-run
btcli tx set-childkey-take \
--netuid <int> \
--take <int> -w my_coldkeyPython
import bittensor as sub
from bittensor.wallet import Wallet
wallet = Wallet(name="my_coldkey", hotkey="my_hotkey")
intent = sub.SetChildkeyTake(netuid=1, take=0)
async with sub.Client("finney") as client:
plan = await client.plan(intent, wallet) # fee, effects, policy — no submission
result = await client.execute(intent, wallet)
if not result.success:
print(result.error.code, result.error.remediation)Or build it by op name, as an agent would:
await client.execute_tool("set_childkey_take", {...}, wallet)