LastRateLimitedBlock

Storage Map v273 → v411 Changed in v411

Block of last rate-limited operation by key type.

Explore chain
Queried by: developers

The Big Picture

Many operations are rate-limited. This storage tracks the last block for each rate-limited operation type, enabling the chain to enforce cooldowns.

Use Cases

  • Check rate limit status
  • Debug rate limit errors
  • Build rate-aware tooling

From Chain Metadata

============================ ==== Rate Limiting ===== ============================ MAP ( RateLimitKey ) --> Block number in which the last rate limited operation occured

Purpose & Usage

Purpose

General rate limiting tracking for various operations.

Common Query Patterns

  • Query by rate limit key

Query Keys

#NameTypeDescription
1
RateLimitKey
RateLimitKey RateLimitKey (RateLimitKey, hashed key component)

Stored Value

Block (u64)

RAO -> TAO (/ 10^9)

Code Examples

// ----------------------------------------------------------------------
// HEADS UP: 1 arg below has a complex type with no usable default.
// Look for `undefined as any` and replace it with real value
// before running — the snippet compiles, but will fail at runtime as-is.
// ----------------------------------------------------------------------
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Query LastRateLimitedBlock storage
const RateLimitKey = undefined as any /* RateLimitKey — replace with real value */;

const result = await api.query.SubtensorModule.LastRateLimitedBlock.getValue(RateLimitKey);
console.log("LastRateLimitedBlock:", result);

Version History

v273 block 5,659,032 Added
v278–v289 · runtime versions skipped on chain (never deployed)
v290 block 5,947,548 Internal re-bind
v307–v314 · runtime versions skipped on chain (never deployed)
v315 block 6,414,634 Internal re-bind
v316–v319 · runtime versions skipped on chain (never deployed)
v320 block 6,523,566 Internal re-bind
v327–v333 · runtime versions skipped on chain (never deployed)
v334 block 6,811,690 Internal re-bind
v353–v360 · runtime versions skipped on chain (never deployed)
v361 block 7,063,679 Internal re-bind
v363–v364 · runtime versions skipped on chain (never deployed)
v365 block 7,135,419 Internal re-bind
v386–v390 · runtime versions skipped on chain (never deployed)
v391 block 7,782,857 Internal re-bind
v394–v400 · runtime versions skipped on chain (never deployed)
v401 block 8,036,576 Internal re-bind
v403–v410 · runtime versions skipped on chain (never deployed)
v411 block 8,283,784 Internal re-bind Current

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Map
First Version
v273
Current Version
v411