Skip to main content

What is the Name Wrapper?

The Name Wrapper is ENSv1 technology: what it does, wrapped states, every fuse, expiry and issuing subnames.

Important: don't wrap, lock or burn fuses on a name. Upgrade it to ENSv2 instead. A locked name may have limits when it upgrades, and a burnt fuse can't be undone.

The Name Wrapper is an ENSv1 contract that holds a name and adds fuses: permissions switched off for good. ENSv2 uses roles instead and never wraps names.


What the wrapper does

The wrapper gives you an ERC-1155 NFT as proof of ownership, in place of the ERC-721 the .eth registrar issues. Owner and Manager become one: the wallet that holds the wrapped name. The name's subnames are wrapped too and get tokens of their own. Any .eth name, subname or imported DNS name can be wrapped. Names registered in the legacy ENS App (app.ens.domains) were wrapped at registration, which is why yours may be wrapped without you choosing it.

An unwrapped name as an ERC-721 NFT, with its subnames untokenised

A burnt fuse proves on the blockchain that something will never happen to the name. That was how projects gave away, sold or ticketed subnames with guarantees.

A wrapped name as an ERC-1155 NFT, with its parent-controlled and owner-controlled fuses

Wrapped, emancipated and locked

A wrapped name is in one of three states.

State diagram of a wrapped name: register, wrap, unwrap, emancipate, lock, and expire back to unregistered
  • Wrapped — the contract holds the name; you hold the NFT. You can unwrap at any time. For a subname, the parent can still replace it or burn parent-controlled fuses on it.

  • Emancipated — the parent has burnt PARENT_CANNOT_CONTROL and can't replace the name or burn fuses on it. Every .eth name is emancipated when wrapped. You can still unwrap and re-wrap.

  • Locked — CANNOT_UNWRAP is burnt. The name can never be unwrapped, and its owner can burn further fuses on it and its subnames. Avoid this state: it may limit the name when it upgrades to ENSv2.


Fuses

A fuse is a permanent, one-way restriction. Burning one switches a permission off until the name's wrapped expiry, when all fuses reset. There is no undo before then.

To see which fuses are burnt on a wrapped ENSv1 name, open it in ENS Explorer and select Fuses in the sidebar.

The Fuses section in ENS Explorer for banana.eth: each fuse, its scope (Parent or Owner) and whether it is burnt (True or False)

Parent-controlled fuses

Only the parent's owner can burn these. Think of them as perks the parent gives a subname:

Fuse

What it does

PARENT_CANNOT_CONTROL

Emancipates the name. The parent can't burn fuses on it or replace it. Required before any owner-controlled fuse.

CAN_EXTEND_EXPIRY

Lets the subname's owner renew it.

IS_DOT_ETH

Set by the contract when a .eth name is wrapped. Not burnable by users.

13 custom fuses

Mean whatever the parent decides: a tier, a role, access to something.

Owner-controlled fuses

The owner or the parent's owner can burn these. They take a permission away:

Fuse

What it does

CANNOT_UNWRAP

Locks the name. Required before any other owner-controlled fuse.

CANNOT_BURN_FUSES

No further fuses can be burnt.

CANNOT_TRANSFER

The NFT can't be sent or sold. In the legacy ENS App this is revoking Can send this name.

CANNOT_SET_RESOLVER

The resolver can't be changed.

CANNOT_SET_TTL

The TTL can't be changed.

CANNOT_CREATE_SUBDOMAIN

Subnames can't be created under it.

CANNOT_APPROVE

The approved subname renewal manager can't be changed.

9 custom fuses

Owner-defined.

To burn any fuse on a subname, the parent must be Locked first; otherwise the parent's owner could unwrap and undo the arrangement against the registry. The chain stops at the .eth name, which arrives emancipated.


Expiry

Any burn needs an expiry; it says how long the fuses hold.

  • A .eth name's wrapped expiry is its registrar expiry plus the 90-day grace period. Renewing the name updates both.

  • A subname's expiry is set by the parent, can only go up, and can't pass the parent's own expiry. Renewing the parent does not renew its subnames. The parent can renew a subname at any time, even one that is emancipated, or let the owner do it with CAN_EXTEND_EXPIRY or an approved renewal contract.

  • During a .eth name's grace period you keep the name but can't unwrap or change it until it is renewed.

  • At expiry a merely Wrapped name only has its fuses reset. An Emancipated or Locked name expires and its owner loses it.

Nested names, each with a maximum expiry no later than its parent's

Issue subnames

This is for wrapped ENSv1 names that can't upgrade. On ENSv2 you do this with roles instead: see What can the parent of a subname still do? The parent has to be wrapped and Locked (CANNOT_UNWRAP burnt) before anything can be burnt on its subnames, and it stays Locked from then on. Which fuses you burn on the subname decides the outcome. Find your case:

You want

Burn on the subname

Give it away for good ("unruggable"), or sell it outright

PARENT_CANNOT_CONTROL | CAN_EXTEND_EXPIRY

Sell and charge renewals

PARENT_CANNOT_CONTROL

Keep it claimable by the NFT holder

Nothing

A ticket that lapses

Custom parent-controlled fuses only; set the expiry to the day after

Stop resale or branching

Add CANNOT_UNWRAP | CANNOT_TRANSFER or CANNOT_UNWRAP | CANNOT_CREATE_SUBDOMAIN

By hand: create the subname, set its expiry, burn the whole fuse set in a single call (PARENT_CANNOT_CONTROL ends your ability to burn anything else), then send it.

By contract: approve the contract as an operator with setApprovalForAll, then have it call setSubnodeOwner or setSubnodeRecord with owner, fuses and expiry in one call. Contract detail is in the ens-contracts wrapper README.

Subnames carry no ENS fee and no limit on how many you create. A subname has no grace period, so its fuses reset the moment it expires.


Common questions

Should I wrap my name?

No. You don't need to wrap a name to use ENS, and a burnt fuse can't be undone. Upgrade to ENSv2 instead.

Do I need to unwrap my name before I upgrade?

No. You don't need to unwrap a wrapped name: upgrade it to ENSv2 as it is. A few names with certain fuses burnt can't upgrade. See Upgrade your name to ENSv2.

What happens to my wrapped name when I upgrade?

A name held in the Name Wrapper with fuses burnt carries them across as roles when it upgrades. A few locked names are not eligible. See Why can't I upgrade my name?

Can a burnt fuse be undone?

Not while the name is live. It resets only at the wrapped expiry, which for a .eth name is the end of its grace period.

Where do I manage a wrapped name?

In ENS Explorer, which shows wrapped names and their fuses. You can upgrade a wrapped name as it is, with no unwrapping. A few with certain fuses burnt can't upgrade and stay on ENSv1, still working: see Why can't I upgrade my name?

Why did my records disappear when I unwrapped my name?

Unwrapping clears the name's profile records. That is how it works, not a bug. Add them again; saving needs a little ETH for network fees (gas). You don't need to unwrap a name to upgrade it: a wrapped name upgrades as it is.

Did this answer your question?