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
Query Keys
| # | Name | Type | Description |
|---|---|---|---|
| 1 | netuid | u16 | netuid (u16, hashed key component) |
Stored Value
Relationships
Modified By
Related Events
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