SubnetOwner

Storage Map v133 → current

Owner account for a subnet .

Explore chain
Queried by: subnet ownersdevelopersanalytics

The Big Picture

Subnet owners have special powers - they can adjust hyperparameters, set requirements, and receive subnet-specific fees. This storage tells you who holds those powers. Ownership can be transferred, so this reflects current control.

Why This Matters

Who runs subnet 18? Can you trust the subnet operator? This answers ownership questions. Also critical before calling owner-only functions - the chain will reject calls from non-owners.

Example Scenario

Query SubnetOwner(netuid=1) returns 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY. That SS58 address is the coldkey that controls subnet 1's parameters.

Common Questions

Can ownership be transferred?
Yes, the owner can transfer ownership to another coldkey using the appropriate call.
What powers does the owner have?
Owners can adjust hyperparameters (tempo, weights limits, etc.), update subnet metadata, and receive owner fees.

Use Cases

  • Verify you own a subnet before calling admin functions
  • Display subnet ownership information in explorers
  • Track ownership transfers and subnet acquisitions
  • Build subnet governance and ownership analytics

Purpose & Usage

Purpose

Track who controls subnet parameters and receives fees.

Common Query Patterns

  • Query owner by netuid
  • Verify ownership before admin operations
Part of: Subnet Management

Query Keys

#NameTypeDescription
1
key1
→ netuid
u16 Subnet ID

Stored Value

Owner account address

hex -> SS58

Relationships

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Query SubnetOwner storage
const key1 = 0;

const result = await api.query
  [stringCamelCase("SubtensorModule")]
  [stringCamelCase("SubnetOwner")](
  key1
);

console.log("SubnetOwner:", result.toHuman());

Runtime Info

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