decrease_take

Call v149 → current #65

Decreases the delegate's commission rate.

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: validatorsdevelopers

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`].

Part of: Delegation

Input Parameters

#NameTypeDescription
0
hotkey
AccountId Hot wallet address (active operations) (hex -> SS58)
1
take
u16 take (u16)

Permissions

Origin
Unknown
Required Role

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

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