TxChildkeyTakeRateLimitExceeded

Error Re-added v195 → v202, v205 → v212, v216 → v216, v217 → v219, v233 → v315, v320 → v326, v334 → v377, v385 → current 7.71

You're changing child key take too frequently.

Encountered by: validatorsdevelopers

Why This Error Exists

Like delegate take, child key take has a rate limit to prevent manipulation. Parents cannot rapidly change the take percentage to exploit children. The cooldown gives children time to notice changes and decide whether to continue operating under new terms.

Deep Dive

TxChildkeyTakeRateLimit defines the minimum blocks between take changes. This is tracked per (parent, child, netuid) relationship. The rate limit is typically similar to delegate take limits (thousands of blocks / ~1-2 days). Last change block is stored to enforce the cooldown.

Debugging Example

You set childkey take at block 200,000. Rate limit is 7,200 blocks. You try to change again at block 205,000. Error: TxChildkeyTakeRateLimitExceeded. 205,000 - 200,000 = 5,000 blocks elapsed. Need 7,200. Solution: Wait until block 207,200, then retry the take change.

Prevention Tips

  • Plan childkey take rates carefully before setting them
  • Track when you last changed take for each child relationship
  • Communicate take changes to child operators in advance

From Chain Metadata

Childkey take rate limit exceeded.

What This Means

You're changing child key take too frequently.

Common Causes

  • Called set_childkey_take too soon after previous change

How to Fix

  • Wait for the rate limit period to pass

Storage to Check

Thrown By

Version History

v195 block 3,791,350 Added
v205 block 4,209,446 Re-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
v385 block 7,782,670 Re-added Current

Runtime Info

Pallet Index
7
Error Index
71
Error Code
7.71
Runtime Version
v393