set_identity

Call v136 → current #0

Registers or updates identity metadata for an account.

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: validatorssubnet ownersdevelopersanalytics

The Big Picture

Identity registration lets you attach human-readable metadata to your on-chain account. This is useful for validators who want to be discoverable, subnet owners who want to provide contact information, or anyone building reputation in the ecosystem. The deposit requirement prevents spam and is fully refundable when you clear your identity.

Why This Matters

Anonymous accounts are hard to trust. By registering identity metadata, you make yourself discoverable and verifiable. Validators with identities get more delegations because stakers can research who they're trusting with their TAO.

Example Scenario

You're running a validator and want delegators to find you. Call set_identity with your display name 'Bittensor Labs', your email, and your website. Now when stakers browse validators, they can see who you are and verify your identity off-chain.

Common Questions

How much does it cost to register?
You pay InitialDeposit plus FieldDeposit for each additional field. This is reserved (not burned) and returned when you clear your identity.
What information can I include?
Standard fields include display name, legal name, web URL, email, Twitter handle, and additional custom fields up to MaxAdditionalFields.
Can I update my identity?
Yes, calling set_identity again overwrites the previous identity. The deposit is adjusted based on the new field count.

Use Cases

  • Register your validator identity with display name and contact info
  • Update your account's metadata for ecosystem discovery
  • Add verifiable information to your coldkey for reputation
  • Provide contact info for subnet owner communication
Part of: Identity Registry

Input Parameters

#NameTypeDescription
0
identified
AccountId identified: Account address (32 bytes, SS58-encoded) (hex -> SS58)
1
info
IdentityInfo info (IdentityInfo)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Signer has sufficient balance for deposit (InitialDeposit + FieldDeposit per field)
  • Number of additional fields does not exceed MaxAdditionalFields
  • Identity info is well-formed and valid

Effects

Events Emitted

Storage Modified

Postconditions

  • Identity is stored in IdentityOf storage
  • Deposit is reserved from account balance
  • Previous identity (if any) is overwritten

Side Effects

  • Emits IdentitySet event
  • Reserves TAO as deposit (returned when identity is cleared)

Code Examples

// ----------------------------------------------------------------------
// HEADS UP: 1 arg below has a complex type with no usable default.
// Look for `undefined as any` and replace it with real value
// before running — the snippet compiles, but will fail at runtime as-is.
// ----------------------------------------------------------------------
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);

// Build set_identity call (typed, named args)
const identified = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const info = undefined as any /* IdentityInfo — replace with real value */;

const tx = api.tx.Registry.set_identity({
  identified,
  info,
});

Runtime Info

View Source
Pallet Index
17
Call Index
0
First Version
v136
Current Version
v411