register_network_with_identity

Call Re-added v195 → v219, v233 → current #79

Creates a new subnet with identity metadata .

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: subnet ownersdevelopers

The Big Picture

Creating a subnet without identity is like opening a store with no sign. This call combines subnet registration with identity setup, ensuring your subnet is discoverable from its first block. One transaction, one fee, complete subnet launch with branding.

Why This Matters

First impressions matter. When your subnet goes live, explorers and potential participants see it immediately. Having identity from block one looks professional and helps early adopters understand what they're joining.

Example Scenario

You're launching an image generation subnet. Call register_network_with_identity(lock_cost=1000 TAO, name='ImageNet', description='Decentralized image generation', url='https://imagenet.io'). Your subnet (say netuid 47) is created with full branding visible immediately.

Common Questions

Can I still update identity later?
Yes - set_subnet_identity works as normal after creation. This just ensures you start with identity rather than adding it later.
Does this cost more than separate calls?
Similar total cost, but you save one transaction fee by combining. The lock cost is the same as register_network.
What if I provide invalid identity data?
The entire call fails - no subnet created. Validate your identity data before submitting to avoid wasting the transaction fee.

Use Cases

  • Launch a branded subnet in one transaction
  • Ensure identity is set from block zero
  • Streamlined subnet creation for professional operators
  • Avoid window where subnet exists without identity

From Chain Metadata

User register a new subnetwork

Input Parameters

#NameTypeDescription
0
hotkey
AccountId Hot wallet address (active operations) (hex -> SS58)
1
identity
Option identity (Option)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Network registration fee paid (lock cost)
  • Below subnet limit
  • Valid identity data (name, description, etc.)

Effects

Events Emitted

Postconditions

  • New subnet created with assigned netuid
  • Identity set immediately
  • Caller is owner

Side Effects

  • Combines register_network and set_subnet_identity atomically
  • Lock cost locked (not burned)

Possible Errors

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 });

// Build register_network_with_identity call
const hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const identity = 0 as any /* Option */;

const call = api.tx[stringCamelCase("SubtensorModule")][stringCamelCase("register_network_with_identity")](
  hotkey,
  identity
);

On-Chain Activity

Usage Frequency
●●●●○○ Active 100K–1M extrinsics

Significant regular use

#30 most used call

Success Rate Highly competitive

Under 5% succeed — vast majority fail due to competition

As of block 7,429,232

Version History

v195 block 3,791,350 1 args
v233 block 4,920,350 2 args Current

Runtime Info

View Source
Pallet Index
7
Call Index
79
First Version
v195
Current Version
v393