Polkadot provides a naming system that allows participants to add personal information to their on-chain account and subsequently ask for verification of this information by registrars.


This article will guide you through the process of setting and clear an identity on-chain on Polkadot.


TABLE OF CONTENTS


Setting an Identity


Users can set an identity by registering through default fields such as legal name, display name, website, Twitter handle, Riot handle, etc. along with some extra, custom fields for which they would like attestations (see Judgements).


⛔ READ THIS FIRST!

Starting from April 1st, 2024, Web3 Foundation's Registrar (Registrar Index 0) will no longer accept judgement requests.

This change won't affect identities already judged by the registrar before this date. For new identity judgments, please utilize the other registrars:

Polkadot Wiki: Registrars


Users must reserve funds in a bond to store their information on chain: 20.258 DOT, and 0.066 DOT per each field beyond the legal name. These funds are locked, not spent - they are returned when the identity is cleared.


These amounts can also be extracted by querying constants through the "Chain state constants" tab on Polkadot-JS UI.


1. Select "Identity" as the selected constant query.



On the right-hand side, you can select the constants that you would like to view and add them onto the webpage by clicking the "plus" ("+") icon at the end of the bar.




Each field can store up to 32 bytes of information, so the data must be less than that. When inputting the data manually through the Extrinsics UI, a UTF8 to bytes converter can help.


2. The easiest way to add the built-in fields is to click the three vertical dots next to your account and select "Set on-chain identity".




3. A popup will appear, offering the default fields. Use the toggle to fill in any fields you wish.



4. Click "Set Identity" to finish the process.


5. Sign and submit the transaction.


Clearing an Identity


Users can clear their identity information and have their deposit returned. Clearing an identity also clears all sub-accounts and returns their deposits.


To clear an identity:


1. Navigate to the "Accounts" tab.

2. Click the three dots corresponding to the account you want to clear and select "Set on-chain identity."

3. Select "Clear Identity", and sign and submit the transaction.


In addition, the Council can kill an identity that it deems erroneous. This results in a slash of the deposit.



‼️ IMPORTANT

The set identity calls go on-chain. Hence, the contact information is available publicly, for both legitimate entities, like registrars or validators, but also scammers who might impersonate them.

The strings in the identity fields are good candidates for homograph attacks, as someone could list a fraudulent website (web3.f0undation instead of web3.foundation for example) and still get verified by the registrar (if the checks are automated)!

In a decentralized network, one should be cautious making transactions with accounts solely based on their identity. If an account on-chain claims to be of Web3 Foundation, it is wise to verify its authenticity by checking directly with Web3 Foundation or examining the established history of that account on-chain.


ℹ️ INFO

If you are looking to set sub-accounts instead, see this article.