Summit Brief

ens v2 testnet

ENS v2 Testnet: Common Questions Answered

June 10, 2026 By Quinn Bennett

Introduction to the ENS v2 Testnet

The Ethereum Name Service (ENS) v2 upgrade represents a major architectural shift, moving the core registry and resolver logic to a new Layer 2 (L2) infrastructure. The ENS v2 testnet is the staging environment where developers, integrators, and domain holders can validate functionality, test migration paths, and identify edge cases before mainnet deployment. This article answers the most frequently asked questions about the testnet, providing concrete technical details for those building on or migrating to ENS v2.

1. What Exactly Is the ENS v2 Testnet?

The testnet is a dedicated deployment of the ENS v2 smart contracts on a public test network, typically Sepolia (Ethereum) and an L2 testnet such as Arbitrum Sepolia or Optimism Sepolia. Its purpose is to simulate the final v2 environment, including:

  • Registry contract deployed on L1 (Sepolia) acting as the root of trust.
  • Resolver and reverse registrar deployed on L2 with cross-chain message passing via the canonical bridge.
  • Subgraph and off-chain indexing for querying domain records and events.
  • Migration tools that mirror the mainnet migration pipeline from ENS v1 to v2.

The testnet does not use real ETH or ENS names; instead, it uses testnet tokens (e.g., Sepolia ETH) and testnet TLDs such as .eth.test or mock names registered via a faucet. All data is ephemeral and will be reset after testing concludes.

2. How Do I Connect and Start Testing?

Connecting to the ENS v2 testnet requires three steps: network configuration, obtaining test tokens, and interacting with the contracts or UI.

Network Configuration

Add the following RPC details to your wallet (e.g., MetaMask):

  • L1: Sepolia (Chain ID 11155111). Public RPCs are available at https://rpc.sepolia.org or via Infura/Alchemy.
  • L2: Arbitrum Sepolia (Chain ID 421614) or Optimism Sepolia (Chain ID 11155420), depending on the testnet variant.

Faucet and Token Bridging

  1. Claim Sepolia ETH from a public faucet (e.g., sepoliafaucet.com).
  2. Bridge testnet ETH to L2 using the official Arbitrum/Optimism bridge UI (testnet versions).
  3. Use the ENS testnet faucet (if available) to mint test .eth names or register via the v2 frontend at the testnet URL (typically app.ens.domains with network switch).

Verification

Once connected, check that you can resolve a test name. For example, resolve v2test.eth.test via a call to the L2 resolver. Successful resolution confirms correct contract address and subgraph indexing.

3. What Are the Key Architectural Differences from ENS v1?

ENS v2 introduces several structural changes that affect how domains are registered, resolved, and migrated. The most important differences are:

  • Registry location: In v1, the registry is entirely on Ethereum L1. In v2, the registry is split: a lightweight root registry remains on L1, while per-TLD registries and resolvers live on L2. Names are minted as NFTs on L2.
  • Migration process: Existing .eth names on L1 must be migrated via a two-step process: (a) approve the v2 migration contract on L1, then (b) submit a cross-chain proof to claim the name on L2. The testnet implements this exact flow.
  • Resolver architecture: V2 resolvers are stateless and use CCIP-Read (ERC-3668) for off-chain data retrieval. The resolver address on L1 points to the L2 resolver via a chain gateway, enabling seamless resolution for clients that support the standard.
  • Gas optimization: Name registrations and record updates on L2 cost significantly less gas than L1. The testnet allows you to quantify savings (e.g., typical registration is <0.001 testnet ETH vs. 0.01 ETH equivalent on L1 Sepolia).

Critical Tradeoff

The L2 architecture introduces a dependency on the bridge's liveness. If the L1-L2 bridge is down or congested, name resolution may be delayed. This is not a concern on the testnet but should be factored into production planning. An ENS subgraph query can help you monitor cross-chain message status and resolution latency during your testing.

4. How Do I Migrate a Name from ENS v1 to v2 Testnet?

Migration is the most tested feature on the testnet. The process mirrors the planned mainnet migration. Follow these precise steps:

  1. Own a name on L1 testnet: If you do not own a .eth name on Sepolia, register one via the v1 testnet UI (e.g., app.ens.domains on Sepolia). Ensure you hold the owner key.
  2. Approve migration contract: Call approveMigration() on the v1 registry at the address provided by the ENS team. This creates an authorization for the v2 contract to transfer your name.
  3. Initiate migration from L1: Call migrateToL2(nameId, recipientL2Address) on the v2 migration contract on Sepolia. This emits a cross-chain message via the bridge.
  4. Claim on L2: Wait approximately 5-15 minutes (depending on bridge finality). Then, on Arbitrum Sepolia, call claimName(bytes32 nameId, bytes memory proof) on the L2 registry. The proof is generated by reading the bridge's message receipt.
  5. Verify: Use the testnet subgraph to query the new name owner on L2, and attempt a normal resolution for the migrated name via the v2 resolver.

Note that the testnet may reset the bridge state periodically. Check the latest ens working group update for current migration contract addresses and any decorator functions added during testing.

5. What Tools and APIs Are Available for Testing?

The testnet ecosystem includes several tools to facilitate automated and manual testing:

  • ENS.js v2 alpha: A JavaScript SDK that supports L2 resolution, migration transactions, and subgraph queries. Install with npm install @ensdomains/ensjs@next and configure for testnet RPCs.
  • Subgraph on The Graph: A hosted subgraph indexing ENS v2 events on both L1 and L2. Endpoint: https://api.thegraph.com/subgraphs/name/ensdomains/ensv2-sepolia. Use it to query name ownership, resolver addresses, and migration history.
  • Hardhat/Foundry integration: Deploy your own mock resolver or registrar for integration testing. The ENS v2 contracts are open source at the ensdomains/ens-contracts-v2 repository.
  • Cross-chain monitor CLI: A community-built CLI tool that watches the bridge for pending migrations. Useful for stress-testing the migration pipeline.

Performance Metrics from the Testnet

Based on early testnet runs (as of Q2 2025), here are concrete numbers you should expect:

  • Migration completion time (L1 to L2): 8–12 minutes for Arbitrum Sepolia; 12–20 minutes for Optimism Sepolia.
  • Registration cost on L2: ~0.0003 testnet ETH per name (including gas for resolver setup).
  • Resolution latency: <1 second for cached names on L2; 2–5 seconds for names requiring an L1 resolver proof.
  • Subgraph indexing delay: ~30 seconds from event emission to queryable state.

These figures are indicative and subject to change as the testnet evolves. Always validate against the latest subgraph data.

6. Common Pitfalls and How to Avoid Them

During testnet testing, users encounter recurring issues. Here are the most frequent problems and their solutions:

  • Insufficient L2 gas: Migration claims require paying L2 gas. If you run out, the transaction fails silently. Solution: Always bridge at least 0.01 testnet ETH to L2.
  • Stale subgraph data: The subgraph may lag behind the chain. Solution: Use the checkpoint parameter in your subgraph query to force a cache refresh. An ENS subgraph query with latest: true reduces stale results.
  • Contract address mismatches: The testnet contracts are redeployed after a reset. Solution: Always fetch the latest addresses from the official ENS docs or the working group update page.
  • Bridge denial: If the bridge's message queue is full, your migration may be delayed. Solution: Monitor the bridge contract's pendingMessages count. If high, wait before submitting.

7. What Happens After the Testnet Phase?

The testnet runs until the core team and the community validate all critical flows. After that, the following milestones occur:

  1. Security audits: The final v2 contracts undergo multiple audits (likely by Trail of Bits and ConsenSys Diligence). Testnet findings inform audit fixes.
  2. Mainnet deployment preparation: The root ENS DAO votes on a mainnet deployment date. Contracts are frozen and deployed to Ethereum mainnet and the chosen L2.
  3. Migration period opens: Users have a fixed window (e.g., 6 months) to migrate their names from v1 to v2. After that, v1 registrations become subject to a migration tax or expiration.
  4. v1 deprecation: The old registry remains readable but not writable. All new registrations occur on v2.

Developers should plan to update their dApps and SDKs to support v2 resolution before the mainnet migration window opens. The testnet is the ideal environment to write and validate these changes.

Conclusion

The ENS v2 testnet is a critical sandbox for validating the next generation of decentralized naming. By understanding the architectural changes, migration mechanics, and available tools, you can ensure a smooth transition when v2 hits mainnet. Test early, test often, and refer to the official documentation and ens working group update for the latest testnet addresses and revisions. The future of ENS is L2-native, and the testnet is your proving ground.

Explore the ENS v2 testnet with answers to the most common questions from developers, integrators, and power users about migration, architecture, and deployment.

In short: Detailed guide: ens v2 testnet

References

Q
Quinn Bennett

Original updates