In this guide we will go over step by step instructions to create a Subname that will utilize the NameWrapper contract. This Subname will be its own ERC-1155 NFT. The owner can be sure the parent name has no control over it, making it an "unruggable" ENS name. You should make sure your name is wrapped first. All names registered in the new ENS Manager App are wrapped upon registration.
Step 1: Check if your ENS name is wrapped
Go into the More
tab while viewing your name. If it's not wrapped you will see the button Wrap Name
.
Step 2: Wrap the name
If it's already wrapped you will see a button shows Unwrap
and you can skip this step. If you see Wrap Name
, click that button and confirm with your wallet the transaction.
You'll see a notification to "upgrade" your name. This means you'll be able to set permissions (aka Fuses). This is the functionality the NameWrapper contract gives to your ENS name.
Confirm with your wallet to wrap the name.
Step 3: Prep the parent name to burn fuses
View the profile of the parent name. To burn fuses on Subnames the parent name must be locked. This means that CANNOT_UNWRAP
is burned, which we're doing here.
Step 4: Read the warnings!
Burning fuses on ENS names is permanent! Burnt fuses will not be reset until the name expires and is re-registered. It may be a good idea to test things on a Testnet like Goerli or Sepolia.
Step 5: Revoke the permission to unwrap the parent name
Revoking this permission must be done first before other fuses can be burned.
Step 6: Other permissions
We will skip this step for now. For more on what the different fuses do, see: Fuses
Step 7: Confirm you are locking parent name from being able to be unwrapped
If this were not done, then the parent could simply unwrap the name in the future, and all the fuse permissions would be be undone. Therefore this step is required to burn other fuses.
Step 8: Create Subname under the parent name
Any Subnames created under a wrapped parent name will also be wrapped. Let's create one now. While logged in with the parent wallet, click on the Subname
tab.
Step 9: Type in the Subname to be created
There are no registration fees or limit to the number of Subnames that can be created. It will only cost gas to do.
Step 10: Confirm with your wallet.
Confirm the creation of the Subname with the parent's wallet. If you'd like to learn how to rent Subnames, that's a different process. See: Sell or Rent Subnames.
Step 11: Your Subname is created
The Subname is now created and wrapped because its parent is wrapped.
Step 12: View the Subname's profile
Since the parent wallet is still the owner and no permissions (fuses) have been burned on the Subname yet, the Subname can be deleted by the parent.
Step 13: Visit the permissions tab of the child name
In Step 5 we burned the owner-controlled fuse of the parent name (CANNOT_UNWRAP
). Now we can visit the Subname's profile page and go to the Permissions
tab to give up parent control.
Step 12 - Give up ownership
We haven't transferred the name to the new owner yet, so the parent wallet will still be the owner. This however gives up future ownership control so a new owner can own the name outright, creating an "unruggable" name.
Step 13 - Set the expiration of the Subname
This can be up to the date the parent name expires, or a date prior.
Step 14 - Allow the Subname owner to extend the expiry
If you don't do this step, the Subname owner would be at the mercy of the parent to extend the Subname's registration, even if parental ownership was given up. Once a Subname expires, all the permissions would be reset and the name could be "rugged".
Step 15 - Confirm giving up parent control and allowing to extend the expiry
This will be another gas transaction.
At this point the parent wallet is still the owner, so the name can be deleted by the owner. In other words the ownership hasn't been transferred to the new owner.
Step 16 - Give away the name (send ownership)
Transfer the ownership to one of your frENS. Visit the Subname's profile and go to the More
tab and click Send
.
Put your frENS wallet address there.
Step 17 - Confirm the sending of ownership
Confirm you have the correct address. If the new owner has an ENS name already you can use that in the send field instead of a long wallet address.
Now the parent of the Subname cannot delete the name or edit the records, and it has a new owner.
Step 18 - The owner of the Subname has the control
When the new owner of the Subname is logged into the ENS Manager App, they will have full control over their name. They now have an unruggable Subname!