Skip to main content

Overview

The Name Wrapper is a new contract for ENS that allows you to "wrap" any ENS name into a ERC-1155 NFT.

Without the Name Wrapper

Before the Name Wrapper, only .eth 2LDs (second-level domains, like ens.eth) had ERC-721 NFTs associated with them, unless the owner created a separate custom contract.


Docusaurus themed imageDocusaurus themed image

With the Name Wrapper


Docusaurus themed imageDocusaurus themed image

Parent-Controlled Fuses:

  • Fuses that only the parent owner can burn
  • "Perks" that can be given to the owner of a name Example: By burning CAN_EXTEND_EXPIRY, you allow the owner to extend/renew their own subname

Owner-Controlled Fuses:

  • Fuses that either the owner or parent owner can burn
  • "Permissions" that can be revoked on a name Example: By burning CANNOT_TRANSFER, the wrapped NFT can no longer be transferred or sold.

Subname Fuses:

  • The parent owner has the power to burn fuses when creating subnames
  • Decides what perks, permissions, or guarantees to give to subname owners

With this new contract, you can wrap:

  • Any .eth name or subname
    Examples: name.eth, sub.name.eth
  • Any DNS name or subname
    Examples: name.com, sub.name.com

Unwrapped .eth 2LDs have the concept of a separate Owner (Registrant) and Manager (Controller).

This changes after you wrap the name, because there is only a single account that serves as both the Owner and Manager for the wrapped name.

Should I Wrap My Name?

If you have an ENS name registered with an older version of the Manager App, then it will not be wrapped by default. Instead, you will see this option on the "More" tab:

https://app.ens.domains

info

Wrapping a name is not permanent (unless you intentionally revoke permissions, which is a completely separate page in the Manager App).

So don't worry if you already pressed that Wrap Name button, or if your name is already wrapped. You can unwrap your name at any time, see here for instructions: Unwrapping Names

So you may be wondering "Do I want to press this button?"

The answer may depend on the type of name:

info

If you don't need or want to take advantage of any of the below features, then you do not need to wrap your name.

I have an unwrapped .eth second-level name:

  • Example: name.eth
  • If you wrap this name:
    • Your .eth 2LD is already an ERC-721 NFT, so you will just have a different NFT instead (an ERC-1155), representing the same name.
    • You will be able to use the fuses/permissions system with your name and any subnames that you create.
    • You will be able to create subnames that are "unruggable" NFTs.
    • See this section for additional use-cases, like selling/renting subnames: Name Wrapper Use-Cases
    • Instead of separate "Owner" and "Manager" accounts, your wrapped name will only have a single "Owner" account.

I have an unwrapped .eth subname:

  • Examples: sub.name.eth, further.sub.name.eth
  • If you wrap this name:
    • Your .eth subname will now be an actual NFT that will show up in your wallet and on marketplace websites.
    • If the owner of the parent name Emancipates your subname, then:
      • Your subname NFT is "unruggable", meaning that the owner of the parent name cannot revoke or replace your subname.
      • You will be able to use the fuses/permissions system with your subname and any sub-subnames that you create.
      • You will be able to create subnames that are "unruggable" NFTs.
      • See this section for additional use-cases, like selling/renting subnames: Name Wrapper Use-Cases

I have an unwrapped DNS domain:

  • Examples: mydomain.com, sub.mydomain.com
  • If you wrap this name:
    • Your DNS domain will now be an actual NFT that will show up in your wallet and on marketplace websites.

Contract Technical Details: Wrapping and Unwrapping

When wrapping a .eth 2LD, you transfer the Owner (Registrant) of the ERC-721 NFT to the Name Wrapper contract.
The contract will then automatically take over the Manager (Controller) for the name as well.

You can do this by calling the wrapETH2LD method. Or, you can directly transfer the ERC-721 NFT to the Name Wrapper contract. In return, the contract issues you an ERC-1155 NFT.

When wrapping any other ENS name, you transfer the Manager (Controller) of the name to the Name Wrapper contract. You can do this by calling the wrap method. In return, the contract issues you an ERC-1155 NFT.

As the owner of the wrapped name, you can unwrap at any time by calling either unwrapETH2LD or unwrap. You can do this as long as the permission to unwrap has not been revoked.