SubnetLocked

Storage Map v133 → v411

TAO locked for a subnet .

Explore chain
Queried by: subnet ownersanalyticsdevelopers

The Big Picture

Creating a subnet requires locking TAO as a commitment. SubnetLocked shows how much is locked for each subnet. This capital is at risk if the subnet is dissolved. Higher lock = more commitment from the owner = more skin in the game.

Why This Matters

How committed is this subnet owner? SubnetLocked shows their capital at stake. More locked TAO = stronger commitment to making the subnet successful.

Example Scenario

Query SubnetLocked(netuid=18) returns 100000000000000 (100,000 TAO). The owner locked 100K TAO to create this subnet - significant commitment.

Common Questions

Is locked TAO lost?
Not necessarily. If the subnet remains healthy, the TAO stays locked but isn't lost. If dissolved, locked TAO may be slashed or returned based on rules.
Why require locking?
Prevents spam subnet creation. Lock cost ensures only serious operators create subnets and have incentive to maintain them.
Does this change over time?
Typically fixed at creation based on NetworkMinLockCost at that time. Some mechanisms might adjust it later.

Use Cases

  • Check how much TAO is locked in a subnet
  • Research subnet creation costs over time
  • Build subnet economics dashboards
  • Calculate owner's capital commitment
  • Track locked TAO across the network

From Chain Metadata

MAP ( netuid ) --> total_subnet_locked

Purpose & Usage

Purpose

Track lock cost paid for subnet creation - the stake the owner put up to create this subnet.

Common Query Patterns

  • Query by netuid
  • Calculate owner's locked capital
  • Research subnet creation economics
Part of: Subnet Management

Query Keys

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

Stored Value

total_subnet_locked (u64)

RAO -> TAO (/ 10^9)

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

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

Version History

v133 block 1,404,224 Added
v149 block 3,014,339 Internal re-bind
v166–v194 · runtime versions skipped on chain (never deployed)
v195 block 3,791,350 Internal re-bind
v220–v232 · runtime versions skipped on chain (never deployed)
v233 block 4,920,350 Internal re-bind
v278–v289 · runtime versions skipped on chain (never deployed)
v290 block 5,947,548 Internal re-bind
v353–v360 · runtime versions skipped on chain (never deployed)
v361 block 7,063,679 Internal re-bind Current

Runtime Info

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