Call Workflow
Click items to navigate. Pan and zoom to explore.
The Big Picture
Lower take = more attractive to delegators. When you're building reputation or want to grow your stake, competitive commission rates matter. The tradeoff is clear: more delegators but lower margin. Volume vs margin is a classic business decision.
Why This Matters
Delegators compare take rates when choosing validators. All else equal, lower take wins. New validators often start with low take to build stake, then gradually increase as they prove value.
Example Scenario
You're a new validator competing against established ones charging 15%. Call decrease_take(hotkey, new_take=0.08) to offer 8%. Delegators looking for deals will find you attractive. Once you've built 1M TAO in delegation, you can increase later.
Common Questions
- Is there a minimum take rate?
- Yes, MinDelegateTake prevents a race to zero. You can't set take below this floor (typically a few percent).
- How quickly will lowering take attract delegators?
- It depends on visibility. Your new rate is on-chain, but delegators need to discover it. Consider announcing rate cuts on community channels.
Use Cases
- Attract more delegated stake with competitive rates
- Compete with other validators for delegation
- Build delegator loyalty with better terms
- Launch promotional period for new validators
From Chain Metadata
See [`Pallet::decrease_take`].
Input Parameters
Permissions
Permission data inferred from metadata. May be incomplete.
Requirements
- Hotkey is a delegate
- New take < current take
- New take >= MinDelegateTake
- Rate limit not exceeded
Effects
Events Emitted
Storage Modified
Postconditions
- Delegate take rate decreased
Side Effects
- Delegators receive larger share of future rewards
- May attract more delegations
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 decrease_take call
const hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const take = 0;
const call = api.tx[stringCamelCase("SubtensorModule")][stringCamelCase("decrease_take")](
hotkey,
take
);Runtime Info
View Source- Pallet Index
- 7
- Call Index
- 65
- First Version
- v149
- Current Version
- v393