Skip to main content

What is an ENS L2 Primary Name?

Learn about L2 primary names - a new ENS feature that enables setting primary names directly on Layer 2 networks, making multi-chain identity management simpler and more cost-effective.

Why L2 Primary Names Matter

Prior to August 2025, setting an ENS primary name required a transaction on Ethereum Mainnet, and only worked in L1 Ethereum. Since most user activity now happens on L2 networks like Arbitrum, Base, and Optimism, this created a poor user experience.

L2 primary names solve this by allowing you to set primary names directly on Layer 2 networks, with automatic fallback to a default primary name on Ethereum.

Visual Comparison

Before L2 Primary Names: Set primary name only on Ethereum → expensive, limited
With L2 Primary Names: Set primary names on each L2 → cheaper, network-specific

L2 primary names were enabled with the ENSIP-19 standard.

Understanding Primary Names vs Reverse Records

According to the ENS documentation, it's important to understand the difference:

Reverse Record: A mapping from an address to an ENS name (only part of a primary name)
Primary Name: A complete bi-directional relationship where:

  1. The ENS name resolves to your address (forward resolution)
  2. Your address resolves back to the ENS name (reverse resolution)

For a primary name to work, both directions must be properly configured.

Supported Networks

L2 primary names are now available on these networks:

NetworkMainnetTestnet
Arbitrum✅ Sepolia
Base✅ Sepolia
Linea✅ Sepolia
OP Mainnet✅ Sepolia
Scroll✅ Sepolia

How L2 Primary Names Work

The Verification Process

The key concept is that the forward address for a given chain must match the reverse record on that chain's reverse registrar.

Example scenario:

  1. You own alice.eth
  2. It resolves to 0x1234...5678 on Ethereum
  3. You call setName("alice.eth") on Base reverse registrar
  4. This doesn't work yet because alice.eth only has an Ethereum address set

To fix this:

  1. Set the Base address for alice.eth by calling:
setAddr(
namehash("alice.eth"),
2147483653, // Base coin type
0x1234...5678 // your address
)
  1. Now both directions work:
    • alice.eth0x1234...5678 on Base (forward)
    • 0x1234...5678alice.eth on Base (reverse)

Network Coin Types

Each network has a unique identifier for multi-chain resolution:

NetworkCoin Type
Ethereum60
Arbitrum2147483652
Base2147483653
Linea2147483656
OP Mainnet2147483658
Scroll2147483657

Default vs Network-Specific Primary Names

Default Primary Name

  • Set on Ethereum Mainnet
  • Works as fallback across all networks
  • Best for users with same address everywhere
  • Requires ETH on Ethereum for gas

Network-Specific Primary Names

  • Set individually on each L2
  • Overrides default primary name on that network
  • Best for different names per network
  • Requires ETH on that specific L2 for gas

Choosing Your Strategy

Use Default Primary Name when:

  • You want the same ENS name across all networks
  • You use the same address on all chains
  • You want simple, universal setup

Use Network-Specific Primary Names when:

  • You want different primary names on different networks
  • Your contract addresses differ across chains
  • You want granular control per network

Setting up L2 primary names with Enscribe is covered in the Name Contract on L2 Networks guide.

Sync Times and Status

After setting primary names, sync times vary by network:

NetworkSync Time
Ethereum~1 block
Base~6 hours
Arbitrum~6 hours
OP Mainnet~6 hours
Linea8-24 hours
Scroll~1 hour

Common Use Cases

Multi-Chain DeFi Protocol

protocol.mydefi.eth
├── Ethereum: 0xabc...123
├── Arbitrum: 0xabc...123 (same address)
├── Base: 0xdef...456 (different address)
└── Optimism: 0xabc...123 (same address)

Personal Wallet Identity

alice.eth (default on Ethereum)
├── Arbitrum: Uses default alice.eth
├── Base: alice-base.eth (network-specific)
└── OP Mainnet: Uses default alice.eth

Getting Help

Community Support

  • Discord: Real-time community help
  • Telegram: Developer discussions
  • X: Updates and announcements

Documentation Resources


Ready to set up L2 primary names? Visit Enscribe and give your smart contracts the human-readable identity they deserve.

Making ENS work seamlessly across all networks.