Skip to main content

Name Wrapper Overview

Name Wrapper: wrap your ENS name for advanced permissions, locked subnames, and ERC-1155 NFT functionality.

The Name Wrapper is the ENSv1 contract that lets you "wrap" an ENS name into an ERC-1155 NFT, with fine-grained permissions called Fuses.

The Name Wrapper is superseded by ENSv2. ENSv2 replaces fuses with roles, so there is no reason to wrap new names — migrate your names to ENSv2 instead. See What happens to a wrapped name when it migrates? and What is the Namewrapper? This article remains the reference for names that are still wrapped.

Important: don't lock names or burn Fuses. Locked names may have upgrade limits under ENSv2 — migration is the recommended path. [More on ENSv2]

Without the Name Wrapper

Without the Name Wrapper, only .eth 2LDs (second-level names, like ens.eth) have ERC-721 NFTs associated with them, unless the owner creates a separate custom contract.

With the Name Wrapper

The Name Wrapper can wrap:

  • Any .eth name or subname — for example name.eth, sub.name.eth

  • Any DNS name or subname — for example name.com, sub.name.com

Unwrapped .eth 2LDs have a separate Owner (Registrant) and Manager (Controller). After wrapping, a single account serves as both the Owner and Manager of the wrapped name.

What are Fuses?

Fuses are permissions on a wrapped name that can be "burned" — irreversibly revoked or granted. There are two types:

Parent-Controlled Fuses

  • Fuses that only the parent owner can burn.

  • "Perks" that can be given to the owner of a name. Example: burning CAN_EXTEND_EXPIRY lets the subname owner extend/renew their own name.

Owner-Controlled Fuses

  • Fuses that either the owner or parent owner can burn.

  • "Permissions" that can be revoked on a name. Example: burning CANNOT_TRANSFER means the wrapped NFT can no longer be transferred or sold.

Subname Fuses: the parent owner can burn Fuses when creating subnames, deciding what perks, permissions, or guarantees to give to subname owners.

How does wrapping and unwrapping work?

When wrapping a .eth 2LD, you transfer the Owner (Registrant) of the ERC-721 NFT to the Name Wrapper contract. The contract then automatically takes over the Manager (Controller) for the name as well. You can do this by calling the wrapETH2LD method, or by directly transferring 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 by calling the wrap method. In return, the contract issues you an ERC-1155 NFT.

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

Did this answer your question?