set_identity
Call v136 → current #0Registers or updates identity metadata for an account.
View calls on chainCall Workflow
Click items to navigate. Pan and zoom to explore.
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
Input Parameters
| # | Name | Type | Description |
|---|---|---|---|
| 0 | identified | AccountId | identified (AccountId) (hex -> SS58) |
| 1 | info | IdentityInfo | info (IdentityInfo) |
Permissions
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
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 set_identity call
const identified = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const info = 0 as any /* IdentityInfo */;
const call = api.tx[stringCamelCase("Registry")][stringCamelCase("set_identity")](
identified,
info
);Runtime Info
View Source- Pallet Index
- 17
- Call Index
- 0
- First Version
- v136
- Current Version
- v393