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.
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:
- The ENS name resolves to your address (forward resolution)
- 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:
Network | Mainnet | Testnet |
---|---|---|
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:
- You own
alice.eth
- It resolves to
0x1234...5678
on Ethereum - You call
setName("alice.eth")
on Base reverse registrar - This doesn't work yet because
alice.eth
only has an Ethereum address set
To fix this:
- Set the Base address for
alice.eth
by calling:
setAddr(
namehash("alice.eth"),
2147483653, // Base coin type
0x1234...5678 // your address
)
- Now both directions work:
alice.eth
→0x1234...5678
on Base (forward)0x1234...5678
→alice.eth
on Base (reverse)
Network Coin Types
Each network has a unique identifier for multi-chain resolution:
Network | Coin Type |
---|---|
Ethereum | 60 |
Arbitrum | 2147483652 |
Base | 2147483653 |
Linea | 2147483656 |
OP Mainnet | 2147483658 |
Scroll | 2147483657 |
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:
Network | Sync Time |
---|---|
Ethereum | ~1 block |
Base | ~6 hours |
Arbitrum | ~6 hours |
OP Mainnet | ~6 hours |
Linea | 8-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
Documentation Resources
- Complete Docs: Technical reference
- Blog: Updates and announcements
- Check our FAQ
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.