Back to Home

wrapper.ens.eth

0xd4416b13d2b3...bdbe25686401
wrapper.ens.eth
Source VerifiedEdit this contract
Deployed March 28, 2023 (3 years ago)Block 16,925,608

The ENS NameWrapper, which takes custody of .eth names and reissues them as ERC-1155 tokens carrying permanently burnable permissions.

Verified Source

Historical Significance

This is the contract that turned ENS from a flat namespace into a hierarchy people could build on. Names had always been able to have subdomains, but with no way to make a delegation irrevocable there was no reason to trust one, and the feature went mostly unused. Fuses supply the missing guarantee by letting an owner destroy their own authority in a way everyone can verify.

It is also an unusually large piece of custody. More than half a million names sit inside it, which means a great deal of what looks like direct ENS ownership is in practice ownership of a wrapper token, and any tool reading balances straight from the base registrar sees this one contract rather than the people behind it.

Context

Deployed on 28 March 2023 as part of the ENS name wrapper release, sixteen years of chain time after the original registry and three after the registrar it wraps, both of which are documented separately in this archive.

Wrapping is optional and always has been. An unwrapped name remains an ERC-721 held directly in the base registrar, which is why the two contracts coexist and why holdings have to be read from both to see a full picture.

Key Facts
Deployment Block
16,925,608
Deployment Date
Mar 28, 2023, 11:42 AM
Code Size
23.8 KB
Transactions by YearPartial (capped)
202334,110
202415,890

Description

The NameWrapper holds a .eth name in the base registrar and gives the owner a token representing it. Reading the contract, ens() returns the 2020 registry at 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e and registrar() returns the base registrar at 0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85, the two contracts it sits between.

Two things change when a name is wrapped. It becomes ERC-1155 rather than ERC-721, reporting support for 0xd9b67a26 and not for 0x80ac58cd, which lets a name and its subdomains live in one contract and be moved in batches. And it gains fuses, a set of permissions that can be burned but never relit. An owner can permanently give up the ability to reclaim a subdomain, or to change a resolver, and the giving up is itself enforced onchain rather than promised.

That is what makes subdomains worth something. Before this, a subdomain was held at the pleasure of the parent, who could always take it back, so nobody could sensibly buy one. A parent that has burned the relevant fuse cannot revoke, and the subdomain becomes an asset in its own right.

Its scale is visible from the registrar: this contract currently holds 587,354 .eth names. Its own owner() returns the zero address, so the administrative role has been renounced.

Bytecode Overview

Opcodes24,389
Unique Opcodes256
Jump Instructions1404
Storage Operations240

External Links

Wraps

The earlier contract this one represents. Holding this counts as holding that original on a collector card.

Related contracts