DelegateTakeTooLow

Error Re-added v151 → v212, v216 → v216, v217 → v219, v233 → v315, v320 → v326, v334 → current 7.48

The delegate take rate is below the minimum allowed.

Encountered by: validatorsdevelopers

Why This Error Exists

Bittensor enforces a minimum delegate take to ensure validators are compensated for their work. Without a floor, a race to zero could harm validator economics and network health. The minimum ensures validators can sustainably operate while still allowing competition on rates.

Deep Dive

MinDelegateTake is typically around 900 basis points (9%) but can change via governance. Take decreases are allowed (via decrease_take) but cannot go below this floor. The rate limit on take changes also prevents rapid manipulation - validators cannot quickly swing between high and low takes.

Debugging Example

You call decrease_take(hotkey=5Xyz..., take=500). Error: DelegateTakeTooLow. Query MinDelegateTake - returns 900 (9%). Your requested 500 (5%) is below the floor. Solution: Set take >= 900. Call decrease_take(hotkey, take=900) for minimum allowed.

Prevention Tips

  • Query MinDelegateTake before decreasing take
  • Remember the rate is in basis points (900 = 9%)
  • Plan your take strategy within the allowed range

From Chain Metadata

Delegate take is too low.

What This Means

The delegate take rate is below the minimum allowed.

Common Causes

  • Take percentage below MinDelegateTake
  • Trying to set take to zero when minimum exists

How to Fix

  • Check SubtensorModule.MinDelegateTake for the minimum
  • Set take at or above the minimum allowed

Storage to Check

SubtensorModule.MinDelegateTakeSubtensorModule.DelegateTake (removed)

Thrown By

Version History

v151 block 3,157,274 Added
v216 block 4,510,996 Re-added
v217 block 4,590,522 Re-added
v233 block 4,920,350 Re-added
v320 block 6,523,566 Re-added
v334 block 6,811,690 Re-added Current

Runtime Info

Pallet Index
7
Error Index
48
Error Code
7.48
Runtime Version
v393