increase_take
Call v149 → v424, v432 → current #66Increases the delegate's commission rate.
View calls on chainCall Workflow
Click items to navigate. Pan and zoom to explore.
The Big Picture
Take is your commission as a validator. Increasing it means you keep more of the emissions, delegators get less. It's a business decision - charge what you're worth, but remember delegators can leave. This change is rate-limited to prevent abuse.
Why This Matters
Running a validator costs money (servers, bandwidth, time). As costs rise or your value increases, you may need higher commission. But be careful - delegators watch take rates and may leave for cheaper validators.
Example Scenario
Your validator has proven reliable for 6 months. You started at 9% take to attract delegators. Now you want 12% to cover increased costs. Call increase_take(hotkey, new_take=0.12). Delegators now receive 88% of their share (down from 91%).
Common Questions
- Will delegators be notified when I increase take?
- An event is emitted on-chain, visible in block explorers. Savvy delegators monitor this. There's no push notification - they need to check periodically.
- Can I increase take as much as I want?
- No - MaxDelegateTake caps it, and increases are rate-limited by TxDelegateTakeRateLimit. Read MaxDelegateTake for the current ceiling; it is a u16 normalized to u16::MAX, so divide by 65535 to read it as a percentage.
Use Cases
- Adjust commission to reflect increased costs or value
- Respond to market conditions with higher rates
- Scale back delegation by making it less attractive
- Capture more value as your validator reputation grows
From Chain Metadata
Allows delegates to increase its take value. This call is rate-limited.
Migration Notes
take 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.
Input Parameters
Permissions
Permission data inferred from metadata. May be incomplete.
Requirements
- Hotkey is a delegate
- New take > current take
- New take <= MaxDelegateTake
- Rate limit not exceeded
Effects
Events Emitted
Storage Modified
Postconditions
- Delegate take rate increased
Side Effects
- Delegators receive smaller share of future rewards
Code Examples
// ----------------------------------------------------------------------
// HEADS UP: 1 arg below has a complex type with no usable default.
// Look for `undefined as any` and replace it with real value
// before running — the snippet compiles, but will fail at runtime as-is.
// ----------------------------------------------------------------------
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);
// Build increase_take call (typed, named args)
const hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const take = undefined as any /* PerU16 — replace with real value */;
const tx = api.tx.SubtensorModule.increase_take({
hotkey,
take,
});Version History
Runtime Info
View Source- Pallet Index
- 7
- Call Index
- 66
- First Version
- v149
- Current Version
- v472