Call 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 - there's a MaxDelegateTake limit (often around 18-20%), and increases are rate-limited. You can't spike to max take overnight.
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
See [`Pallet::increase_take`].
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
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 increase_take call
const hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const take = 0;
const call = api.tx[stringCamelCase("SubtensorModule")][stringCamelCase("increase_take")](
hotkey,
take
);Runtime Info
View Source- Pallet Index
- 7
- Call Index
- 66
- First Version
- v149
- Current Version
- v393