Subscribe Right arrow
Blockchain Basics// 8 min read

How to Register a Custom .eth Domain via the Ethereum Name Service (ENS)

How to Register a Custom .eth Domain via the Ethereum Name Service (ENS)

Registering your own .eth domain makes receiving cryptocurrency a lot less hassle.

Instead of having to share a long string of random letters and numbers with someone if you want them to transfer cryptocurrency to you, you just need to send them your .eth domain.

For example, we’ve registered thecoinoffering.eth. You can send Ether, the token used on the Ethereum blockchain, directly to us through this domain.

To register your own .eth domain, you’ll have to go through the Ethereum Name Service, an auction site that was launched in early 2017. The process works a lot like buying a domain for a website, but instead of using your .eth domain to host a website, you use it as an alias to receive cryptocurrency.

How does registering a .eth domain work?

Registering your first .eth domain can be a little daunting.

Fortunately for you, I’ve been through the process a number of times and I’m here to guide you through every step.

Here’s a quick overview of what’s involved:

1. Starting the Auction

First, find the .eth domain you want and bid on it (in ETH) to begin the auction.

This will trigger the auction period, which will last three days. During this time, every bid on the domain is kept secret, so you don’t know how much anyone else had bet for it.

2. Revealing Your Bid

Once the three days are up, you’re required to reveal your bid. Once everyone has revealed their bid, the highest bidder wins the domain. Everyone who missed out on the name is refunded their bid, minus a 0.5% fee (which is burned).

If you don’t reveal your bid within two days of the auction ending, you’ll lose all the money you bid.

3. Finalizing the Auction

If you’re the winning bidder, the third and final part of the auction is to send a finalize transaction. That involves sending the final amount you bid in order to be assigned control of the .eth domain.

You’ll then be refunded the difference between your winning bid and the second-highest (if there were other bidders involved).

4. Resolving the Address

Once you’ve won the auction, you’ll need to assign your newly acquired ENS domain to  your wallet’s address. This is the equivalent of linking your web domain with your web hosting servers.

A step-by-step guide to registering a .eth domain

To help walk you through your first .eth domain registration, I’ll show you the process I went through to buy thecoinoffering.eth. Follow this guide to the letter and you’ll be up and running with your .eth domain in no time.

Step 1: Create a wallet with MyEtherWallet

Your ENS domain is useless without a cryptocurrency wallet, so the first step is creating a public key to assign your domain to.

While you can transfer your ENS domain to another address once you own it, it’s much easier to just assign it to the right wallet to begin with. Your ENS domain will be assigned to the wallet you bid for the domain from. So, if you already have an Ethereum wallet, the first step is to access it through MyEtherWallet.

If you don’t already have a wallet, you’ll need to create one. To do this, simply visit MyEtherWallet, enter a password, and press “Create New Wallet”.

MyEtherWallet - Create a New Wallet

Don’t forget to download the Keystore file and save it somewhere secure.

MyEtherWallet Keystore

You’ll then be given your private key (a long alphanumeric string), which is what you’ll use to access your wallet. It’s really important that you keep this safe and secure, because if you lose it, you won’t be able to access your wallet. I’d highly recommend printing the paper wallet and storing it somewhere safe, secure, and memorable. Finally, unlock your wallet by either entering the private key or by uploading the Keystore file you just downloaded.

Once you’ve done this, you’ll have full access to your new wallet. Make sure to keep all the details safe because you’ll need them every time you want to access your funds. If you lose them, you lose everything.

Step 2: Bid on your ENS domain

Now that you have a wallet, it’s time to find a domain.

To do this, go to the ENS section within MyEtherWallet. From here you can search for the domain you’d like to bid on by using the search bar.

Ethereum Name Service

One thing to note is that right now, you can only bid on names that are seven characters in length or longer. This is set to change in the future though.

If the name you want is available you’ll see a message like this:

Ethereum Name Service Search

Now you need to use either your private key or Keystore file (or one of the other methods listed) to access your wallet so that you can place a bid for the ENS domain you’d like.

You’ll be taken to the screen where you can place a bid for the ENS domain you want. There are three fields you need to fill out:

  1. Actual Bid Amount: the maximum amount (in ETH) that you’re willing to pay for the domain. You’ll be refunded the difference between your bid amount and the second-highest bid if you win.
  2. Bid Mask: the amount of ETH you send into the smart contract that can be publicly seen as your bid. This must be greater than or equal to your actual bid. This means that you could make it look like you’ve bid a lot more than you have (you’ll still need to have these funds in your wallet though).
  3. Secret Phrase: this is a password used to help secure the transaction. You need to make a note of this.

Once you’ve filled out all this information, press “Start the Auction”. You’ll be shown a message that includes all the details of your bid information. Make sure that you copy the text in the box that says, “Copy and save this:” above it.

Here’s what this looked like when I bid on thecoinoffering.eth (note that I have blanked out the details):

Starting the ENS Auction

I’d also recommend taking a screenshot of this information as a backup, as you’ll need it for some of the next stages in the process. Once you’ve backed up the information, press the “Yes, I am sure! Make transaction.” button.

Congratulations, you’ve now bid on the ENS domain and the auction has begun. The auction will last three days, and during this time other people will be able to bid on the domain too. Once those three days are up, all bidding will end and you’ll have to reveal your bid (which I’ll explain later).

Step 3: Check the transaction was processed

Before you sit back and wait for the three days to count down, you should double-check your bid was processed successfully and the auction has started.

To do this, visit and search the .eth address (e.g. thecoinoffering.eth) that you’ve bid on using the search bar in the top-right of the page.

Etherscan - bidding stage

You should see something similar to the screenshot above. All you’re looking for is the Auction Status, which should be“Open for Bidding”. This should appear about  five minutes after you made the bid in MyEtherWallet and last the duration of the auction.

This page will also show you how long is left until the auction ends (next to the “Submit Bids Before” section).

If the auction is open for bidding and the countdown has begun, you don’t need to do anything else until the auction is over.

Step 4: Revealing your bid

Once the auction is over, you need to reveal the amount you bid for the domain within 48 hours. If you don’t do this, you’ll miss out on the winning bid and lose the money you put down.

To do this, go back to the ENS section of MyEtherWallet and type your ENS domain in the search bar (just like when you first placed a bid). You’ll see a message asking you to reveal your bid:

MyEtherWallet ENS Reveal

To do this, log in to MyEtherWallet using the same details as before. Once you’re logged in, you’ll be prompted to enter the details of your bid. This is the information you copied down when you placed your bid (and hopefully took a screenshot of).

MyEtherWallet ENS Reveal Details

Paste in the details and then click on the “Reveal your Bid” button to make your offer public.

The reveal stage will last two days. If you’re the highest bidder by the end of this time, you’ll win the auction and the smart contract will be initiated, refunding you the difference between your winning bid and the next highest bid.

Step 5: Check the transaction was processed

At this point, it’s worth confirming the reveal transaction was processed correctly. You can do this by searching for your ENS domain, just as you did in step two. You should now see that the domain has moved into the “Reveal Stage”.

Etherscan - reveal stage

You’ll also be able to see how long is left of the reveal stage within the “Reveal Bids By” section.

Step 6: Finalizing the auction

You can keep track of how long is left of the auction by searching the .eth address on If the auction is complete and ready to finalize it will look something like this:

EtherScan Ready to Finalize

The next step is to go back to the ENS section within MyEtherWallet and search for your .eth address in the search bar (e.g. thecoinoffering.eth). You should see a message that says “Is that your address? Finalize the auction to claim your new name.”

Below this message, it will ask you to access your wallet. Make sure you log in to the wallet you used to bid on the domain.

Finalize the Auction

Once you’ve unlocked your wallet, you’ll see a button that says “Finalize xxx.eth” (replacing ‘xxx’ with your domain). Click this button.

Finalize the Auction Button

A warning button will pop up asking if you’re sure that you want to do this Click “Yes, I am sure! Make transaction.”

Transaction verification - Ethereum Name Service

The status of the ENS domain should now have changed — you can confirm this by checking it on It should now show a “finalizeAuction” transaction near the bottom (if it doesn’t, just wait a couple of minutes and refresh the page).


Step 7: Setting the resolver

You now own the domain and you’ve completed the auction — congratulations! All you need to do now is to assign the ENS domain to your wallet address. This is the last major stage of the process, and it only takes a few minutes.

First, go back to the ENS section of MyEtherWallet,type in your ENS domain into the search bar, and press “Check ENS Name”.

You’ll see the instructions you need for the next step:

Resolver Details in ENS

Keep these open in a tab in your browser.

In a new tab, navigate to the “View Wallet Info” section of MyEtherWallet. Log in with your private key to find your public key, which you’ll find under the words, “Your Address”:

Public Key

Copy this address, go back to the previous tab, and paste it into the text field under “Enter the address you would like this name to resolve to:”.

In a new tab, open up the “Contracts” tab of MyEtherWallet.

From the drop-down menu on the right, select “ENS – Registry”. This should auto-populate the other fields.

Contracts - ENS Registry

Press “Access” and a new box will appear below. From the drop-down menu marked “Select a function”, choose “setResolver”. You should now see this:


You now need to fill in the “node bytes32” and “resolver address” fields. You’ll find the information you need to put in these fields in the ENS section of MyEtherWallet, which you should still have open in another tab. Paste these details in and then unlock your wallet with your public key.

Finally, press the “WRITE” button.

You’ll get a warning pop-up. Don’t worry — leave the amount as 0 and press “Generate Transaction”.

We’re nearly there.

Step 8: Setting the Address

This is the very last stage in the process. Wait a couple of minutes for the transaction you’ve just made to go through,  then go back to the “Contracts” tab of MyEtherWallet (you may need to refresh the page if it’s still open).

This time, you’re going to select “ENS – Public Resolver” from the drop-down on the right and then press the  “Access” button.

ENS - Public Resolver

When the next section appears, select the “setAddr” option from the “Select a function” drop-down.


Just like last time, you’ll need to fill in the “node bytes32” field, which  is the same as before.The other field needs your “addr address”, which is the public key of your wallet. Enter that here and then unlock your wallet with your private key below.

Once you’ve unlocked your wallet, press the “WRITE” button.

You’ll get a warning message this time too. Leave this as it is and press the “Generate Transaction” button.

Generate Transaction Warning - Second

And that’s it! The transaction should take no longer than a couple of minutes to complete, but once it has you can go and check by typing the .eth address in the top-right search bar.  You should see something like this:

Completed ENS Transfer

Once you see this, you can go ahead and test out sending a small amount of ETH to your new ENS domain.

Once that works, you can rest assured everything is working correctly, and you can now begin receiving payments to that address.

That wasn’t that painful, was it?

P.S  A good way to see when new auctions have started for .eth domains is to follow the ENS Auction bot on Twitter. It automatically sends out tweets when a new .eth auction is started. This way, you won’t miss out on any domains that you really want.

Written by:

Matt is the founder of The Coin Offering, co-host of the Decrypting Crypto podcast and a member of the team at The Litecoin Foundation.


Leave a Reply

Your email address will not be published. Required fields are marked *