ENSv2 Overview Lays Out Next-Generation Architecture for Ethereum Name Service

The official ENS documentation introduces ENSv2, an overview of the next-generation architecture for the Ethereum Name Service, covering upgraded registrar and resolver designs, improved name normalization, and multichain primary-name support.

· Updated November 10, 2026 · Zain Tran · 7 min read · 0 total views · 0 today

Categories: technologyEthereum

Futuristic editorial illustration of the ENSv2 hierarchical tokenized name registry with ERC1155Singleton tokens flowing into per-account permissioned resolvers

Last week I watched a friend send 400 USDC to 0x8f3a…c91e because the wallet in front of him refused to show a name.

Not because ENS went down. Because the reverse record had rotted.

That is the quiet failure nobody tweets about. And it is exactly the failure ENSv2 — the next-generation architecture the ENS docs published on October 12, 2026 — claims it will fix.

Hook

Ethereum's naming layer has run on one flat registry since 2017. ENSv2 replaces that single contract design with a hierarchical, tokenized system: every name becomes an ERC1155Singleton token in a Permissioned Registry, every account gets its own Permissioned Resolver instead of sharing one Public Resolver, and a single Universal Resolver V2 becomes the front door for all lookups.

The pitch is simple. The plumbing underneath is not.

Key Metrics at a Glance

Metric ENSv1 (current) ENSv2 (new)
Name representation Registry owner field / ERC-721 (unwrapped) or ERC-1155 (wrapped) ERC1155Singleton token in Permissioned Registry
Registry model Single flat registry Hierarchical — each name can have its own registry
Resolver model Shared Public Resolver per namespace Per-account Permissioned Resolver, DNS-encoded setters
Resolution entry point Direct resolver calls Universal Resolver V2
.eth registration ETHRegistrarController, fees in ETH, 90-day grace New ETH Registrar: commit-reveal kept, fees in stablecoins, 28-day grace
Migration N/A (native) Two-phase; unmigrated names renew via ETHRenewerV1; fuses convert to roles
Multichain primary names L1 reverse records only Universal Resolver mirrors v1; ENSv2 L2 registrar + signatures upcoming
DNS names (.com/.xyz) DNSSEC import into v1 registry Native ENSv2 DNS resolvers
Permission system Fuses (burned on wrapped names) Enhanced Access Control (EAC) roles
Testnet availability Mainnet Sepolia ENSv2 deployment live today

Context: Why ENSv2 Exists

ENS started in 2017 as a flat mapping: name node → owner, resolver, TTL. That worked when nick.eth was a luxury. It strains now that ENS wants to be "the entire internet and beyond" — ENS Labs announced the ENSv2 roadmap on March 28, 2024, with goals of scaling beyond Ethereum mainnet into multichain environments.

The v1 design has three pressure points. First, one shared Public Resolver means every name's records live in one contract anyone can write to, with permission logic bolted on externally. Second, the flat registry cannot express subnames owned by their own sub-registries. Third, wrap/unwrap logic (the Name Wrapper and its fuses) became a compatibility layer everyone had to learn.

ENSv2's answer is to make names first-class tokens with built-in permissions, rather than layers stacked on one registry.

Futuristic editorial illustration of a hierarchical tokenized name registry with ERC1155 tokens flowing into per-account resolvers

Core Content: What Actually Changes

The operations table in the ENS docs is the cleanest way to see the swap:

Operation ENSv1 ENSv2
Register or renew .eth ETHRegistrarController, paid in ETH New ETH Registrar: commit-reveal stays, fees in stablecoins, grace period 28 days (was 90)
Set address / text / contenthash Setters on the name's resolver DNS-encoded-name setters on the Permissioned Resolver, deployed per account
Change a name's resolver setResolver(node) on the registry setResolver(tokenId) on the registry holding the name
Create subnames setSubnodeRecord on registry / Name Wrapper register() on the parent name's subregistry
Transfer a name ERC-721 (unwrapped) / ERC-1155 (wrapped) ERC1155Singleton transfer with mutable token IDs
Set a primary name Reverse Registrar setName ENSv2 reverse resolution (see below)

Three design choices deserve a hard look.

Fees move to stablecoins, grace shrinks to 28 days. The commit-reveal scheme survives, which is good — it stops front-running on premium names. But renewal fees in stablecoins plus a grace period cut from 90 days to 28 days changes the economics for anyone who has let a name lapse. The ENS DAO is already moving on this: executable proposal 6.43 ties revised .eth registration pricing to the v2 launch.

Resolvers go per-account. In ENSv1 most names shared one Public Resolver. In ENSv2 each account gets its own Permissioned Resolver, deployed through a shared Verifiable Factory. That factory is the trust anchor: the docs are explicit that the default setup deploys per-account resolvers and per-name subname registries through this single shared contract. If the factory has a bug, every new name inherits it. Follow the contract, not the blog post.

Reverse resolution is mirrored, not rebuilt. Primary names still work at launch because the Universal Resolver V2 mirrors existing v1 reverse records through ENSV1Resolver. The genuinely new L2 registrar and signature system is listed as "upcoming." So the multichain primary-name promise is a roadmap item, not a shipped feature.

Editorial visualization of a two-phase migration pipeline moving ENSv1 names into ENSv2 tokens with renewals routed through a legacy bridge

Analysis: The Migration Is Where Users Get Hurt

Migration is two-phase. New registrations happen exclusively in ENSv2. Unmigrated names keep their v1 record-write paths, but renewals are routed through ETHRenewerV1, and wrapped-name fuses convert into ENSv2 roles along a defined migration path.

That split creates a window where the same name has two write paths. The docs themselves warn that until ENSv2 indexing is complete, "names migrated to ENSv2 appear with stale ownership" — meaning indexers and wallets may show the wrong owner for a migrated name.

That is not a cosmetic bug. Showing a stale owner is how a user sends funds to a name that has already changed hands.

ENSv2 Readiness Score (proprietary framework)

For app developers deciding when to wire in ENSv2, I score readiness on five weighted factors:

Readiness = (Resolver compatibility × 0.30) + (Migration support × 0.25) + (Indexing readiness × 0.20) + (Fee & grace handling × 0.15) + (Multichain reverse × 0.10)

Factor Weight What to check
Resolver compatibility 0.30 Are you calling the Permissioned Resolver's DNS-encoded setters, or legacy resolver setters?
Migration support 0.25 Do you handle both v1 write paths and ENSv2 for unmigrated names?
Indexing readiness 0.20 Does your indexer account for stale-ownership warnings during migration?
Fee & grace handling 0.15 Stablecoin renewal fees and the 28-day grace period in your UX?
Multichain reverse 0.10 v1 mirror works today; L2 primary names are upcoming.

A wallet that ships Universal Resolver V2 reads, handles dual write paths, and flags stale indexer data scores ~8/10. A wallet that only swapped the read path and ignored indexing scores ~4/10 — and that 4 is where users lose money.

Futuristic editorial graphic of a permissioned access-control matrix guarding registry roles, resolvers, and subregistries

What To Watch

Watch item Why it matters
Mainnet ENSv2 deployment go-live Sepolia is live; mainnet deploy date per /learn/deployments decides real exposure
Indexing completeness Stale-ownership displays during migration are the top user-harm vector
DAO proposal 6.43 (pricing) Sets actual .eth registration costs under v2
DAO proposal 5.22 (ENSv2 budget stream) Funds the audit and maintenance of the new contracts
Verifiable Factory / Universal Resolver V2 audits Single shared contracts = single point of failure
L2 registrar and signature system ("upcoming") Until shipped, multichain primary names are a promise

Decision Framework

Building on ENS today?
├── Reads only → Use Universal Resolver V2 now (mirrors v1)
├── Writes for .eth names → New ETH Registrar; budget stablecoin fees, 28-day grace
├── Own subnames → register() on parent subregistry; do NOT build on Name Wrapper fuses
├── Unmigrated v1 names in your UI → keep v1 write paths; renewals go through ETHRenewerV1
├── Indexer/app → handle stale-ownership warning until ENSv2 indexing completes
└── Multichain primary names → wait for the L2 registrar/signature system

TL;DR

  • What: ENS published the ENSv2 overview — a full architectural rewrite of the naming layer, announced 2024-03-28, docs live 2026-10-12
  • Why: v1's flat registry and shared resolver don't scale to multichain; ENSv2 tokenizes names (ERC1155Singleton), gives per-account resolvers, and moves fees to stablecoins with a 28-day grace period
  • Edge: Migration runs dual write paths; indexers can show stale owners for migrated names — the real user-harm window
  • Watch: mainnet deploy, DAO proposals 6.43 and 5.22, Verifiable Factory audits, and the still-upcoming L2 reverse registrar

Sources


Zain Tran is TotesTek's Ethereum Ecosystem Columnist & Accountability Reporter at TotesTek.