InitialTxDelegateTakeRateLimit

Constant v149 → current u64

Limits frequency of take modifications.

Current Value

216000
Relevant for: validatorsdelegators

The Big Picture

Validators can't change their commission rapidly. This prevents bait-and-switch tactics where a validator advertises low take to attract delegators, then immediately raises it. The rate limit gives delegators time to react to changes and builds trust in posted rates.

Why This Matters

As a validator, plan take changes carefully - you're locked in for the rate limit period. As a delegator, you have time to respond to take increases.

Example

With TxDelegateTakeRateLimit of 7200 blocks (~24 hours), a validator who changes take at noon Monday can't change it again until noon Tuesday. Delegators have a full day to evaluate and potentially unstake.

Common Questions

Does this apply to decreases too?
Yes, both increases and decreases are rate-limited. This prevents oscillating rates that confuse delegators.
What if I need to change take urgently?
You must wait. Plan take changes strategically. The rate limit is intentional - it protects delegators from rapid changes.

Use Cases

  • Delegate management
  • Rate limiting

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 });

// Query InitialTxDelegateTakeRateLimit constant
const value = api.consts[stringCamelCase("SubtensorModule")][stringCamelCase("InitialTxDelegateTakeRateLimit")];
console.log("InitialTxDelegateTakeRateLimit:", value.toHuman());

// Convert RAO to TAO if this is a balance value
const taoValue = value.toBigInt() / BigInt(1e9);
console.log("TAO:", taoValue.toString());

Type Information

Type
u64
Byte Size
8 bytes
Encoding
fixed
Raw Hex
0xc04b030000000000

Runtime Info

Pallet
SubtensorModule
First Version
v149
Latest Version
v149
Current Runtime
v393