If you’re deep into web3 and active across the ecosystem, in any typical week you’re signing multisig transactions, voting on Snapshot or Agora, minting NFTs in a hot wallet before sending them to cold storage, or trying to chase the next 100x memecoin in the degen Olympics. Suffice to say, your wallet interface gets a lot of use.
You may like to use multiple wallets for these tasks — perhaps a combination of hot and cold wallets — but keeping track of which wallet is for which action can be challenging. An additional factor is that copy/pasting wallet addresses is not only inefficient but also provides scope for mistakes and subterfuge, particularly address poisoning. Fortunately, there’s a great web3-native solution to your wallet management woes: the Ethereum Name Service.
Most of us know this protocol as ENS, which pioneered technology to map wallet addresses to human-readable names; it’s what gives users the .eth suffix to the user names you see in Discord and on X. ENS enables users to send funds to hirokennelly.eth rather than a long hexadecimal address, but the protocol also enables a host of other functions to help you manage your web3 life, including ENS subnames. The guide below assumes you already have a top-level ENS name set up, but if you don’t, you can find several resources across the web, including the ENS official documentation.
What Is a Subname?
A subname can be set as a prefix to your ENS name, for example vote.hirokennelly.eth. In my current wallet management system, I actively use five different subnames depending on the function of the wallet:
An aside on security: Subnames are easy to set up, but require a bit of forethought to make sure you are managing your wallets as securely as possible. For example, the admin.hirokennelly.eth address is the owner and manager of the top-level ENS (hirokennelly.eth) and subnames, and I have it linked to a Ledger that I only use for ENS management. This is because if someone gains access to the wallet with which you manage your ENS names, they can change the addresses and you would probably be none the wiser until it was too late.
Subnames make a complex web3 more manageable and transparent, allowing you to create named wallets for the different types of actions you want to take. If you want to send funds to cold storage, link your cold wallet to a ‘vault’ prefix. Do you often sign multisig transactions? Create a ‘sign’ prefix. Do you have a wallet for degenerative cryptoeconomics? Create a ‘degen’ prefix so you can easily fund (and track) your memecoin chasing. In fact, since I’m a lover of degenerate cryptoeconomics but don’t have that subname, we’ll create one in this guide. Let’s get started.
How To Create a Subname
To create a subname, you must have access to the wallet that manages the top-level domain. For most people, that’s probably the same wallet address as your ENS name.
Step 1: Connect to an ENS Management Tool
Your first step will be to go to the ENS App, which allows you to manage ENS domains. Connect your Ethereum wallet by clicking on the ‘Connect’ button.
Step 2: Navigate to Your Domain
Once your wallet is connected, navigate to the ‘My Names’ section where you’ll see a list of domains you own.
Note: Since I use a subname to manage my domains, you’ll notice that the admin.hirokennelly.eth address is the Manager and Owner of the top-level hirokennelly.eth name (and all subnames).
Step 3: Navigate to the Top-Level ENS Name
Click on the ENS name for which you want to create a subname.
Step 4: Create the Subname
Navigate to ‘Subnames’ and click on ‘New subname’.
Clicking on ‘New subname’ will bring up the prompt needed to create the new name. In this case, we’re creating a wallet for degenerative cryptoeconomics, so we’ll use ‘degen’ as the new subname. Type the subname in the Label field and click Next.
This next step is a blockchain transaction, so make sure you have ETH in your wallet. Once details are confirmed, click ‘Open Wallet’.
Clicking ‘Open Wallet’ will prompt you to sign the transaction for subname creation. Once the transaction has been executed, click ‘Done’.
Congrats, you now have a subname, but you are NOT finished yet!
Step 5: Manage Your New Subname
Now that you have your new subname, you’ll need to point it to a wallet address.
Click on your new subname, which will bring up the familiar-looking options to manage domains and subdomains.
Next, navigate to ‘Records’, which is where you’ll link the new subname to a wallet address. Click ‘Edit Records’.
This brings up a prompt to edit Text, Address, and Other. Click ‘Address’ and the ‘+ Add Address’ dialogue box.
This will bring up a prompt to add an ETH address (and many others!). Click on the ETH icon.
Here you can paste the wallet address to which you want the subname to point. After pasting the address, click ‘Save’.
Setting this address will also require you to execute a transaction in your wallet, similar to the steps above to create the subname.
Congrats; once finished you can now use the address to receive funds! Just to make sure I did it correctly, I always send a little dust (a very small amount of ETH) to the subname. Once you’ve confirmed you are good to go, you could consider your work finished, but guess what, you’re still not done yet! We have two additional bonus steps to get the most out of your subname.
Bonus Step 1: Set Your Avatar
After you’ve successfully pointed your subname to your wallet, click the ‘Profile’ tab for your subname. Once there, you can click on ‘Edit profile’.
You can edit your profile in any number of ways, but let’s just stick to uploading an avatar. Click on the familiar circle with a + in a camera icon, which will enable you to choose an NFT to connect it to or to upload an image. Choose the ‘Upload Image’ option.
Select an image to upload, and click ‘Continue’.
You’ll need to sign the message, and then run a transaction as with the above to set the avatar as the image attached to the subname. Once finished, you’ll have your chosen image set as your avatar!
(As you can see, I have just the right chippi avatar to add to my ENS family!)
Bonus Step 2: Reverse Record Set
The reverse record set makes it so the subname (and often the avatar too) will display instead of your wallet address. To do this, you’ll first disconnect your wallet.
Reconnect with the wallet address that is attached to your subname. Once connected, click on the connected wallet address and choose ‘Settings’.
Once in Settings, click on ‘Choose primary name’. From there, select the subname and click ‘Next’.
Note: you will need ETH for this transaction, so if this is a new wallet address, be sure to transfer ETH to it prior to this step.
This will again be a blockchain transaction, so click ‘Open Wallet’, and sign the transaction. Once executed, your wallet address in the upper-right corner will display your avatar and subname!
A final way I like to check this is to go to Etherscan, search by your subname, and verify that the subname appears in the block explorer by clicking on the ‘Resolved Address’ wallet address (which will be the same as the wallet address to which the subname points).
Subnames For Optimal Organization
Apart from setting up subnames for your personal wallet management, the use cases for ENS subnames extend to organizations. From payroll processing (hiro.banklesspublishing.eth) to inter-organizational payments (marketing.banklesspublishing.eth) to managing wallets for multiple digital assets (eth.banklesspublishing.eth or btc.banklesspublishing.eth) and even project management (newsletters.banklesspublishing.eth) the practical applications for subdomains are vast.
This is just the tip of the iceberg with ENS, and the functionality of the protocol extends far beyond top-level domains and subnames. For now, load up some ETH and create your own subname, explore the other functionality within the ENS App, and take pride in beginning to use the technology around us to make your web3 life better. Technology is here to help us, but only if we put in the effort to learn how to use it.
Hiro Kennelly is a writer, editor, and shipper at Bankless Publishing, builder at BanklessDAO and DAOpunks, and a lover of people, Moloch, and degenerative cryptoeconomics.
trewkat is a writer, editor, and designer at BanklessDAO. She’s interested in learning about web3, with a particular focus on how best to communicate this knowledge to others.
ab_colours is a versatile designer with over seven years of experience. He specializes in doing product design, UX design and brand identity. He has been DAOing for the past eight months and has been able to amass quite a lot of knowledge about the fascinating blockchain space.
BanklessDAO is an education and media engine dedicated to helping individuals achieve financial independence.
This post does not contain financial advice, only educational information. By reading this article, you agree and affirm the above, as well as that you are not being solicited to make a financial decision, and that you in no way are receiving any fiduciary projection, promise, or tacit inference of your ability to achieve financial gains.
More like this
Inside an Ethereum Transaction by 0xKimberly
The UX Risks of Gasless Transactions by d0wnlore
The World Of Web3 by Azeem Khan