Unwrapping Names

How to unwrap an ENS name

Updated over a week ago

Currently the ENS Manager App only supports wrapping/unwrapping for .eth second-level names (like name.eth). For other names, there are guides below you can follow to unwrap.

Note that you can only unwrap a name if it hasn't been Locked. Or in other words, if you have not revoked the permission to unwrap it.


Using the Manager App

If your name is a .eth second-level name like name.eth, then you can use the ENS Manager App to unwrap it.

Go to the More tab on your name, and there will be a Unwrap Name button in the Token section:

Then the Manager App will open a dialog and send the appropriate transaction to your wallet to approve:


Using Unwrap Tool

This is a small helper website we built on the side to address some edge-cases that may not make sense for the ENS Manager App (or are still on the roadmap): https://tools.ens.domains/unwrap

Enter the name you want to unwrap and it will automatically send the correct transaction to your wallet.


Using the contract directly

If you want to invoke the unwrap contract methods directly, then follow the instructions in this section. The actual method to call will be different depending on whether it's a .eth second-level name, or any other name.

For .eth 2LDs

You will need:

  • The labelhash for your .eth name, in hexadecimal format. See here for instructions: Generating a Labelhash

    • Example: If your name is name.eth, then you will calculate the labelhash for name.

You can interact directly with the Name Wrapper contract on Etherscan: https://etherscan.io/address/0xd4416b13d2b3a9abae7acd5d6c2bbdbe25686401#writeContract#F23

At the top, click on "Connect to Web3" to connect your wallet. Then scroll down and expand the unwrapETH2LD method:

Enter the three fields:

  • labelhash: The labelhash for the name.

  • registrant: The owner of the name. Enter your address.

  • controller: The manager of the name. Enter your address.

Then click on "Write" to send the transaction to your wallet.

For any other name

You will need:

  • The namehash for the parent name, in hexadecimal format. See here for instructions: Generating a Namehash

    • Example: If your name is sub.name.eth, then you will calculate the namehash for name.eth.

    • Example: If your name is domain.xyz, then you will calculate the namehash for xyz.

  • The labelhash for your name, in hexadecimal format. See here for instructions: Generating a Labelhash

    • Example: If your name is sub.name.eth, then you will calculate the labelhash for sub.

    • Example: If your name is domain.xyz, then you will calculate the labelhash for domain.

You can interact directly with the Name Wrapper contract on Etherscan: https://etherscan.io/address/0xd4416b13d2b3a9abae7acd5d6c2bbdbe25686401#writeContract#F22

At the top, click on "Connect to Web3" to connect your wallet. Then scroll down and expand the unwrap method:

Enter the three fields:

  • parentNode: The namehash for the parent name.

  • labelhash: The labelhash for the name.

  • controller: The manager of the name. Enter your address.

Then click on "Write" to send the transaction to your wallet.

Did this answer your question?