Block 9 of 9 · Punta Arenas 53°09′S

How a .eth name works under the hood

You type yourname.eth, your wallet shows an address and the payment arrives. In between there are four steps, two contracts and a hash function. This is how ENS works, and where its traps are.

By EnschileUpdated 7 min read

In 30 seconds

  • ENS has two pieces: a registry, which says who controls each name and which resolver it uses, and resolvers, which answer what it points to.
  • Before it's looked up, the name is normalized and turned into a 32-byte identifier by a function called namehash.
  • To show your name instead of your address, two records have to match: name → address and address → name.
  • In version 1, the Name Wrapper adds permissions that can be “burned”, called fuses. ENSv2, live since October 27, 2026, replaces them with roles: permissions that are granted and revoked one by one.

The two pieces: registry and resolver

ENS resembles the internet's domain name system, but it runs on contracts on Ethereum. It has two main pieces:

PieceWhat it storesAnalogy
The registryFor each name: its owner, the resolver it uses and how long the answer may be cachedA book's index: it tells you which page to look at
The resolverThe name's data: addresses, avatar, website, social profilesThe page with the information

Keeping them apart has an advantage: the registry rarely changes, while each name can use whatever resolver it wants, even one that stores data outside Ethereum. In version 1 there's a single registry for every name; in ENSv2 the registry is split into a chain —each name can have its own registry for its subnames— but the idea is the same.

.eth names are also issued by a contract called the registrar, which owns eth in the registry. It charges the yearly rent —in USDC or DAI since ENSv2— and gives you the name as an NFT: that's why it shows up in your wallet like any other asset. Prices and deadlines are in the ENS guide.

Normalization and namehash: how a name is written for a machine

A contract doesn't look up text: it looks up numbers. So, before querying anything, applications do two things with the name.

1. Normalize

First they bring it to a single form, following the ENSIP-15 standard: lowercase, valid characters and rules against letters from different alphabets that look the same. So YourName.eth and yourname.eth are the same name, and many deceptive names are rejected outright.

2. Namehash

Then they turn it into a 32-byte identifier with a recursive function called namehash: the parent name's fingerprint is taken and combined with the fingerprint of the next label, using Keccak-256, Ethereum's own hash.

namehash("")    = 0x0000…0000
namehash("eth") = 0x93cdeb70…a93fc4ae

namehash("ethereumchile.eth")
  = keccak256( namehash("eth") + keccak256("ethereumchile") )
  = 0x4dc3ef91…b5bf8e96
Real values, shortened. Every name, however long, ends up as an identifier of the same size.

The beauty of this design is that a contract can work with any name without knowing its text, and that every subname derives from its parent: yourproject.ethereumchile.eth hangs from ethereumchile.eth, which hangs from eth.

What happens when you send to yourname.eth

How a .eth name is resolved The wallet normalizes the name, computes its namehash, asks the registry which resolver it uses and asks the resolver for the destination address. 1 · Normalize wallet YourName.eth → yourname.eth A single way to write it. 2 · Namehash wallet yourname.eth → 0x… (32 bytes) The name becomes a fixed number. 3 · Registry Ethereum which resolver does it use? Answers with a contract address. 4 · Resolver Ethereum addr → 0x4c2a…9f1b Your wallet sends to that address.
Forward resolution, step by step. Today many wallets do steps 3 and 4 in a single query to a contract called the Universal Resolver. Shortened example address.

None of this costs gas: reading the blockchain is free. You only pay when you change something, like registering a name or editing its records.

An important detail: the name doesn't “equal” your address, it points to it, and its owner can change that destination whenever they want. That's why, before a large transfer, it's worth looking at the address your wallet shows, not just the name.

What a name can store

RecordWhat it's forExample
AddressesWhere to send on each network: Ethereum, its layer 2s and other blockchains0x4c2a…9f1b
TextYour profile: avatar, description, site, email, social accountscom.twitter, org.telegram, url
ContentA decentralized website, stored on IPFS for exampleOpened through gateways like yourname.eth.limo

Because the records live in the name and not in an application, you set them once and any compatible wallet or site reads them. That's what turns a .eth name into a portable digital identity.

On social

Prefer the short version? We post explainers and alerts on X (@enschile) and Telegram (@enschile).

The primary name: the way back

Resolving yourname.eth gives you an address. The reverse path —seeing an address and showing a name— uses another record: the reverse record, which each address sets to declare its primary name.

The problem is that anyone can declare any name as their primary. So applications run a check: they take the declared name, resolve it forward and verify that it points to the same address. If it doesn't match, they ignore it and show the hexadecimal. Thanks to that double check, nobody can pass themselves off as your name in a well-built application.

Owner and manager

In version 1, an unwrapped .eth name has two roles:

  • Owner: holds the name's NFT. Can transfer it and appoint the manager.
  • Manager: edits the records, changes the resolver and creates subnames.

They can be the same address or two different ones. A prudent setup is to keep the NFT in a cold wallet and use an everyday wallet as the manager: if the latter is compromised, the name stays safe.

ENSv2 makes this split finer: instead of two fixed roles, the owner can grant separate permissions —editing records, creating subnames, renewing— to different accounts. The cold-wallet idea still holds.

Name Wrapper and fuses

Since 2023, in version 1, ENS lets you wrap a name with the Name Wrapper. The name becomes an ERC-1155 token and gains something new: fuses, permissions that can be “burned” for good, or until the name expires.

FuseWhat happens when it's burned
CANNOT_UNWRAPThe name can no longer be unwrapped and becomes “locked”. It's the prerequisite for burning the other fuses, and for a parent to emancipate its subnames
PARENT_CANNOT_CONTROLThe parent name loses control over that subname: it can no longer reassign or delete it
CANNOT_TRANSFERThe name stays fixed at its current address
CANNOT_CREATE_SUBDOMAINNo new subnames can be created under it

The key idea is an emancipated subname. If the parent is locked and burns PARENT_CANNOT_CONTROL on a subname, that subname belongs to its holder until it expires, which can never be later than the parent's expiry. If no fuses are burned, the subname is fully editable, but the parent's manager keeps the technical ability to reassign it. It's an honest trade-off between flexibility and guarantees, and it's worth knowing which one you have. That's how ethereumchile.eth subnames work: they're issued without restrictions.

ENSv2 built everything the Name Wrapper did into the core of the protocol and replaced fuses with a system of roles: instead of burning permissions, the owner grants or revokes specific permissions for any account. Locked names that migrate to ENSv2 keep their restrictions: their fuses are converted into roles.

Names outside Ethereum and .cl domains

Not every ENS name is stored on the main network. With a standard called CCIP-Read, a resolver can answer with data stored on a layer 2 or on a server, together with a signature or a proof that the contract itself verifies. That way a company can hand out millions of subnames without each one paying gas.

ENS also works with traditional domains. If a domain —a .cl, for example— has DNSSEC enabled, its owner can link it to an address and use it as an ENS name, while keeping it registered with NIC Chile.

The most common traps

  • Names that look almost the same. A zero instead of an “o”, or letters from another alphabet. Normalization blocks many cases, but not all: look at the address.
  • Expired names. If a name expires and someone else registers it, whatever is sent to that name reaches them. Check the expiry date in the ENS app.
  • Sending a name to an exchange. A name sent to a deposit address can end up lost: the platform won't manage it for you.
  • Fake ENS sites. The official app is at app.ens.domains. Nobody legitimate will ask for your recovery phrase to “verify” a name. To migrate or renew, type the address yourself: don't use links sent to you in messages.
  • Forgetting to renew. After expiry there's a 28-day grace period in ENSv2 (90 days for version 1 names that haven't migrated) to renew before someone else can register the name. Set a reminder or renew for several years.

Who governs ENS and what changed

ENS has run on Ethereum since 2017. Today it's governed by the ENS DAO, which votes on protocol changes with the ENS token and manages its treasury, and it's developed by ENS Labs. The new version, ENSv2, has been live on mainnet since October 27, 2026, and migrating version 1 names is optional; the details are in the ENS guide.

You finished the chain

You've gone through all nine blocks: from what Web3 is to how a name works under the hood. If you build on Ethereum from Chile, the natural next step is to name your project with an ethereumchile.eth subname. And if you want to go over a term, there's the glossary.

FAQ

Is ENS owned by a company?

The protocol is governed by the ENS DAO, an organization that decides by votes from ENS token holders and manages the protocol's treasury. ENS Labs is the team that develops it. The contracts run on Ethereum without depending on anyone's server.

Can I use my .cl domain in ENS?

Yes, if the domain has DNSSEC enabled: ENS can read traditional domains and link them to an address. Your .cl domain stays registered with NIC Chile as usual.

What happens if a name expires and someone else registers it?

Payments sent to that name reach whatever address its new owner sets. That's why, for large amounts, check the address and the name's expiry date before sending.

Are owner and manager the same thing?

They can be the same address, but they're different roles. On an unwrapped .eth name, the owner holds the name's NFT and can transfer it; the manager edits its records and creates subnames. In ENSv2, those permissions are split into roles.

Sources

  1. ENS · Docs: the registry (accessed Sep 10, 2026)
  2. ENSIP-1 · ENS specification and namehash (accessed Sep 10, 2026)
  3. ENSIP-15 · Name normalization (accessed Sep 10, 2026)
  4. ENSIP-3 · Reverse resolution (accessed Sep 10, 2026)
  5. ENSIP-5 · Text records (accessed Sep 10, 2026)
  6. ENS · Name Wrapper (accessed Sep 10, 2026)
  7. ENS Docs · ENSv2: per-name registries and roles (accessed Nov 3, 2026)
  8. ENS Docs · ENSv2 .eth registrar: prices, payment and grace period (accessed Nov 3, 2026)
  9. ENS Docs · Migrating to ENSv2 (accessed Nov 3, 2026)
  10. ENS · ENSv2 Is Live on Mainnet (Oct 27, 2026)
  11. EIP-3668 · CCIP-Read (2020)