This storage item was removed in v352

This storage item is no longer available in the current runtime. Existed from v195 to v352. Shown here for historical reference.

Use instead: SubnetIdentitiesV3

SubnetIdentities

Storage Removed Map v195 → v411

REMOVED. Legacy v1 identity metadata for subnets (value type SubnetIdentity). Replaced via the SubnetIdentities → V2 → V3 migration chain.

Queried by: developersanalyticswalletssubnet owners

The Big Picture

Beyond technical parameters, subnets have identity - who runs them, what they do, how to learn more. SubnetIdentities stores this metadata on-chain, making subnet discovery and research possible. It's the 'about page' for each subnet, stored permanently on the blockchain.

Why This Matters

What does subnet 18 actually do? Who runs it? SubnetIdentities provides this context. Essential for understanding what you're registering on or delegating to.

Example Scenario

Query SubnetIdentities(netuid=1) returns { subnet_name: 'Apex', github_repo: 'opentensor/apex', subnet_contact: '@apex_team', ... }. Now you know the subnet's name and where to find documentation.

Common Questions

Is this required?
No, subnet identity is optional. Some subnets have rich metadata; others have none. Subnets without identity data are harder to research.
Who can update this?
Only the subnet owner can update SubnetIdentities for their subnet.
What fields are available?
Common fields: subnet_name, github_repo, subnet_contact, description. The exact schema may evolve - check the type definition for current fields.
Is this stored on-chain or IPFS?
Directly on-chain for simplicity. Keep descriptions concise as storage costs TAO.

Use Cases

  • Build subnet explorers and directories
  • Display subnet name and description in UIs
  • Find contact information for subnet operators
  • Research subnet purposes and documentation
  • Create searchable subnet catalogs

Purpose & Usage

Purpose

Store subnet name, description, contact info, and other human-readable metadata. Removed when V2 then V3 identity types rolled out — query SubnetIdentitiesV3 for current data.

Common Query Patterns

  • Historical-only — current chain (v411) does not have this storage.
  • Iterate pre-removal versions for backfill

Query Keys

#NameTypeDescription
1
key1
u16 key1 (u16)

Stored Value

SubnetIdentity

value (SubnetIdentity)

Relationships

Related Storages

  • SubnetIdentitiesV3 Replaced by Migration chain: SubnetIdentities → SubnetIdentitiesV2 (also removed) → SubnetIdentitiesV3 (canonical at v411). Backfill indexers walking pre-removal history should read this; from removal onward use SubnetIdentitiesV3.

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 SubnetIdentities storage
const key1 = 0;

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

Version History

v195 block 3,791,350 Added
v202 block 3,848,823 Internal re-bind
v203–v204 · runtime versions skipped on chain (never deployed)
v205 block 4,209,446 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
v293–v296 · runtime versions skipped on chain (never deployed)
v297 block 6,067,943 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
v352 Removed

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Map
First Version
v195
Removed In
v352