Ticks

Storage Map v290 → v411 Changed in v411

Tick data for concentrated liquidity price points.

Explore chain
Queried by: developersanalytics

The Big Picture

Ticks define price boundaries where liquidity changes.

Use Cases

  • Analyze liquidity distribution
  • Calculate position fees

From Chain Metadata

Storage for all ticks, using subnet ID as the primary key and tick index as the secondary key

Purpose & Usage

Purpose

Stores liquidity delta and fee growth at tick boundaries.

Common Query Patterns

  • Query by (netuid, tick_index)
Part of: Concentrated Liquidity

Query Keys

#NameTypeDescription
1
netuid netuid
raw: key1
u16 key1 (u16)
2
tickIndex
raw: key2
TickIndex key2 (TickIndex) (price = 1.0001^tick)

Stored Value

value (Tick)

Relationships

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 Ticks storage
const key1 = 0;
const key2 = undefined as any /* TickIndex — replace with real value */;

const result = await api.query.Swap.Ticks.getValue(key1, key2);
console.log("Ticks:", result);

On-Chain Activity

Write Frequency
●●●○○○ Low 10K–100K est. writes

10K–100K estimated writes

#49 most written storage item

Write Source User Extrinsics

Modified via user-submitted extrinsics

As of block 7,429,232

Version History

v290 block 5,947,548 Added
v293–v296 · runtime versions skipped on chain (never deployed)
v297 block 6,067,943 Internal re-bind
v299–v300 · runtime versions skipped on chain (never deployed)
v301 block 6,205,194 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
v324–v325 · runtime versions skipped on chain (never deployed)
v326 block 6,608,228 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
v378–v384 · runtime versions skipped on chain (never deployed)
v385 block 7,782,670 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
Swap
Storage Kind
Map
First Version
v290
Current Version
v411