Nowadays it’s hard to find available common names or words on ENS, but did you notice all those new registered domain names starting with an _underscore recently?
Let me tell you how it’s done!
There is risk whenever interacting with any smart contract, weather directly via Etherscan, or via any frontend-interface.
This is an advanced article, and has not been reproduced or verified by us. Please use extreme caution whenever interacting with any smart contract or blockchain wallet.
FYI, it's entirely possible these will be prohibited or warned against by a separate validation library. The intent isn't for underscores to be used in user-facing domains, so don't count on it working.
— nick.eth (@nicksdjohnson) July 28, 2022
How to Register an ENS Name Starting with an Underscore
Warning: At the moment marketplaces will mark those domains as malformed, so don’t expect to just flip them rapidly. Furthermore, it’s important to repeat, that underscores are still not allowed and you should consider the possibility of losing your registration fees. As always, this is not financial advice!
Calculate the registration cost of your desired domain in ETH. You will need it for step 5.2: In my case, I want to register a 5-character long name for approximately 2 years. ETH is at about $1890. That means I need 10$ or ~0.0053ETH. To be safe I will just use 0.006ETH in step 5.2. Registering _xx.eth for one year would cost me approx. 0.34ETH at the moment.
Calculate the ‘duration’: Since I want it to be 2 years and one year has about 31.500.000 seconds, I can safely assume that 62.000.000 seconds are about 2 years, but not more than that for sure, so I will use it in 5.5.
Step 1: Check if a Name is Still Available
Find the ENS contract address and open it on Etherscan (1.1). Click on the contract tab (1.2), next click on ‘Read Contract’ (1.3) or use this link (always verify links!), select the second method called ‘available‘ (1.4) and type in the name you search for in the ‘name’ field (1.5). Hit the query button (1.6) and if the result is ‘true’, your name is still available.
Note: Always use all “lowercase”, and, the starting underscore must be the only one (1) in your name!
Step 2: Get a Commitment Hash
On the same page as you were checking if your desired name is available, select the fifth method called ‘makeCommitment‘ (2.1), type in your desired still available domain name you just checked into the ‘name’ field (2.2), then add your public wallet key/address into the ‘owner’ and ‘secret’ field (2.3 & 2.4) and click on the ‘Query’ button. Finally, the contract will return a commitment hash, which you need to copy (2.6). Don’t share this with anyone, unless your registration is completed!
Step 3: Commit
This is the part where you would normally do a one-time payment of 0ETH on the ENS app and have to wait for a minute before finally registering.
Now change to ‘Write Contract’ (3.1) and connect your wallet (3.2).
There you must select the first method ‘commit‘ (3.3), paste your commitment hash into the ‘commitment’ field (3.4), and hit the ‘Write’ button (3.5). Your wallet extension should open up, asking for confirmation. If gas fees are acceptable, approve it (3.6).
If the gas fees are too high just decline the transaction and try again.
Get ready to count the time or at least be aware of what time it is, that’s important.
Step 4: Wait
I can’t stress this enough: After you sent the transaction in step 3, you must wait at least one minute after the transaction is completed.
Step 5: Register Your Domain
Make sure you have completed step 4.
Now expand the second method ‘register‘ (5.1), paste the registration fees into the first field called also ‘register’ (5.2). Add the domain name into the ‘name’ field (5.3), paste your public wallet key into the ‘owner’ field (5.4), type in the registration duration in seconds into the ‘duration’ field (5.5), paste the secret from step 2.4 into the ‘secret’ field (5.6), then click on ‘Write’ (5.7) and confirm the transaction (5.8), if the gas fees are fine.
If the transaction succeeded you are done. Congratulations on your new grail!
Why Should Someone Register a _Name.eth?
Having a username starting with an underscore is accepted on Social Media, so it has great potential to be also accepted in Web3. We have seen a lot of derivatives of common names lately like 0xname.eth or using emojis as prefix/suffix, so why not use _firstname.eth?
You are early and since the web app does not allow registration, you have a huge advantage compared to the people who just use the web app to register names.
With ENS.Vison already allowing us to trade these domains, it is only a matter of time before the first ‘underscoreClub’ will be added, in my opinion. By the time I wrote this article 50% of the possible _NN.eth names, for example, _01.eth or _51.eth were registered.
I tried to write this guide in a way, that someone who never used a contract via Etherscan could register their desired domain name. I hope it was helpful.