Go to primary.ens.domains, pick the chain (Base, Arbitrum, OP Mainnet, Linea, or Scroll), click Set, and approve two transactions — one on the L2 for the Primary Name, one on Mainnet for the ETH Address. After it syncs, yourname.eth shows up on that chain instead of your 0x address.
Good to know
You need ETH on Ethereum Mainnet for the ETH Address transaction — no other cost.
You also need a bit of ETH on the L2 itself (Base ETH on Base, and so on) for the Primary Name transaction.
Your Primary Name only works once both pieces are set: the Primary Name on the chain and the ETH Address on Mainnet.
L2 Primary Names sync at different speeds — see the table below.
Important: The Primary Names app supports .eth names and their onchain (Ethereum) subnames. Off-chain subnames and L2 project subnames — like yourname.base.eth — can't be set at primary.ens.domains, and the transaction will fail if you try.
Should you set a Default or a Network Primary Name?
You can set one name that covers every chain, or a different name per chain. Pick one before you start:
Type | What it does | Pick this when |
Default Primary Name | Set once on Mainnet. Works on every chain where you use the same wallet. | You want the same |
Network Primary Name | Set per chain. | You want a different name on Base, Arbitrum, or another L2 — or your contract lives at a different 0x address per chain. |
If you're a regular wallet, set a Default first, then add a Network Primary Name only where you want something different. If you're a contract, skip the Default and use Network Primary Names — contracts usually live on one chain or at different 0x addresses per chain, so a Default doesn't fit. See Set your Primary Name for contracts.
What is a Primary Name?
A Primary Name tells apps to show yourname.eth instead of your 0x address. Without it you're 0x123...abcd; with it you're yourname.eth. For the basic case on Mainnet, see How do I set my Primary Name?
How to set the Default Primary Name
You need a bit of ETH on Mainnet for gas — no other cost. The Manager is the wallet that controls a name's records — it can change the ETH Address, set text records, and so on. If you're not on the Manager wallet, the app prompts you to switch when it's time to update the ETH Address.
Go to primary.ens.domains and connect your wallet.
Search your ENS name.
In the Default section, click Set (or Update if one's already there).
Pick the wallet you want as your Default Primary Name.
Pick the chains you want this name to cover. Greyed-out chains already point at this wallet; selected chains will get the new ETH Address.
Approve the Primary Name transaction in your wallet.
Approve the ETH Address transaction in your wallet. If you're not the Manager, the app prompts you to switch wallets here.
Most confirm in 1–2 blocks (12–24 seconds); busy networks can take longer. Once both land, your Default Primary Name is active.
How to set a Network (L2) Primary Name
You need ETH in two places: a bit on the L2 (Base ETH on Base, and so on) for the Primary Name transaction, and ETH on Mainnet for the ETH Address transaction. The L2 flow runs on those chains, not Mainnet. The ETH Address always lives on Mainnet.
Go to primary.ens.domains and connect your wallet.
Search your
.ethname.Find the chain — Base, Arbitrum, OP Mainnet, Linea, or Scroll.
Click Set (or Update) and pick the wallet you want for that chain.
Click Switch connection to move to the L2. If the Primary Name uses a different wallet from the one you're on, the app also asks you to switch wallets — connect the one you want this Primary Name to belong to.
Approve the Primary Name transaction on the L2.
Switch back to Mainnet to set the ETH Address. Click Switch connection, connect the Manager wallet (only the Manager can change records), and approve.
Wait for syncing. The Primary Name won't show until syncing finishes (see times below) and the ETH Address on Mainnet is set.
How to clear a Network Primary Name
Go to primary.ens.domains and connect your wallet.
Search your
.ethname.Find the chain.
Click the bin icon.
Approve the transaction.
If you have a Default Primary Name, that one takes over as the fallback. Clearing a Primary Name doesn't touch the ETH Address — to change or remove that, use app.ens.domains. See How to edit profile.
Viewing Primary Names in the ENS App
Go to app.ens.domains.
Search for an ENS name (or a 0x address).
Open the More tab.
The Primary Name section shows the active Default and Network Primary Names with the wallet each one points at.
You can also search a 0x address to see if a Primary Name is set.
L2 sync times
After the Primary Name transaction on the L2 confirms, syncing starts on its own. These times apply to Network Primary Names:
Chain | Sync time |
Ethereum Mainnet | ~1 block |
Base | ~6 hours |
Arbitrum | ~6 hours |
OP Mainnet | ~6 hours |
Linea | 8–24 hours |
Scroll | ~1 hour |
Status indicators
Status | What it means |
Incomplete | The Default Primary Name is set, but the matching ETH Address isn't on the name yet. |
Resolved from Default | No Network Primary Name is set on this chain, so apps fall back to your Default. |
Syncing | A Network Primary Name was just set or changed. The change is spreading across the L2. |
Active | The Primary Name is live on that chain. |
Common questions
How do I check the Primary Name of an address or ENS name?
Open app.ens.domains, search the ENS name or the 0x address, and open the More tab. The Primary Name section shows the Default and Network Primary Names along with the wallet each one points at. For a deeper view, go to primary.ens.domains.
Does setting a Primary Name on an L2 cost anything?
Gas only — no other fee. You need a bit of ETH on the L2 for the Primary Name transaction (Base ETH on Base, and so on) and ETH on Mainnet for the ETH Address transaction.
How many transactions are needed to set a Primary Name?
Two. For a Default Primary Name: one to set the Primary Name and one to set the ETH Address — both on Mainnet. For a Network Primary Name: one on the L2 for the Primary Name and one on Mainnet for the ETH Address.
Why doesn't my Primary Name show on Etherscan or other sites?
Check the status at primary.ens.domains and wait for syncing to finish if it's still going. Make sure both the Primary Name and the ETH Address are set. Etherscan doesn't read Network Primary Names yet, so an L2-only setup won't show there. Each site picks up changes on its own schedule — wallets and dApps that read ENS records in real time see them right away; cached sites can sometimes take a day or two. For developers, see docs.ens.domains/web/reverse.
Can I test this on Sepolia?
Yes. Use sepolia.app.ens.domains and sepolia.primary.ens.domains. The flow is the same; only the testnet chain and testnet ETH change.
What's next?
How do I set my Primary Name? (the basic Default case)



















