Incentive

Storage Map v101 → v411 Changed in v411

Incentive scores for neurons on a subnet .

Explore chain
Queried by: minersvalidatorsanalytics

The Big Picture

Incentive is what miners earn. It's derived from rank and determines the miner's share of emissions. High incentive = high earnings. This is the final output that matters for miners - the number that translates directly to TAO rewards.

Why This Matters

How much will your miner earn? Incentive score directly determines emissions. Higher incentive = larger share of the subnet's emission pool.

Example Scenario

Query Incentive(netuid=1, uid=47) returns 0.05 (5% of normalized incentive). If the subnet emits 100 TAO per epoch, this neuron earns approximately 5 TAO.

Common Questions

How is incentive different from rank?
Rank is the raw consensus output. Incentive is the emission-weighted result after applying subnet economics. They're related but not identical.
Do validators have incentive?
Validators receive dividends, not incentive. Incentive is for miners who receive weights.

Use Cases

  • Check your miner's earning potential
  • Build emission prediction tools
  • Analyze incentive distribution fairness
  • Compare miner performance across subnets

From Chain Metadata

MAP ( netuid ) --> incentive

Purpose & Usage

Purpose

Track incentive from consensus (affects rewards).

Common Query Patterns

  • Query by netuid-uid
Part of: Yuma Consensus

Query Keys

#NameTypeDescription
1
netuid
u16 netuid (u16, hashed key component)

Stored Value

incentive (Vec<u16>)

Relationships

Code Examples

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 Incentive storage
const netuid = 1;

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

On-Chain Activity

Write Frequency
●●●●○○ Medium 100K–1M est. writes

100K–1M estimated writes

#34 most written storage item

Write Source Calls + Hooks

Modified by both user extrinsics and runtime hooks

As of block 7,429,232

Version History

v101 block 1 Added
v120 block 315,568 Internal re-bind
v123 block 720,235 Internal re-bind
v128–v132 · runtime versions skipped on chain (never deployed)
v133 block 1,404,224 Internal re-bind
v136 block 1,756,781 Internal re-bind
v138 block 1,907,363 Internal re-bind
v140 block 1,929,216 Internal re-bind
v146 block 2,848,978 Internal re-bind
v149 block 3,014,339 Internal re-bind
v151 block 3,157,274 Internal re-bind
v154 block 3,308,611 Internal re-bind
v166–v194 · runtime versions skipped on chain (never deployed)
v195 block 3,791,350 Internal re-bind
v202 block 3,848,823 Internal re-bind
v207–v209 · runtime versions skipped on chain (never deployed)
v210 block 4,345,556 Internal re-bind
v213–v215 · runtime versions skipped on chain (never deployed)
v216 block 4,510,996 Internal re-bind
v220–v232 · runtime versions skipped on chain (never deployed)
v233 block 4,920,350 Internal re-bind
v235–v237 · runtime versions skipped on chain (never deployed)
v238 block 4,936,550 Internal re-bind
v241–v243 · runtime versions skipped on chain (never deployed)
v244 block 4,999,897 Internal re-bind
v266–v272 · runtime versions skipped on chain (never deployed)
v273 block 5,659,032 Internal re-bind
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
v101
Current Version
v411