Go to primary.ens.domains, pick the chain (Base, Arbitrum, OP Mainnet, Linea, or Scroll), and select Set. You approve once on the L2 to set the primary name. Then, if the chain's address doesn't already point at that wallet, you approve again on Ethereum Mainnet to set it. Once it syncs, yourname.eth shows on that chain instead of your 0x address.
Good to know
You need a little ETH on the L2 to set the primary name, and ETH on Ethereum Mainnet for the address record — records live on Ethereum Mainnet whichever chain the name is for, and a Default primary name is set there too. If the address already points at that wallet, the second step doesn't come up. Gas only, no other cost.
.ethnames and their onchain subnames only. Project names likeyourname.base.ethcan't be set at primary.ens.domains.
Should you set a Default or a Network primary name?
You can set one name that covers all EVM chains, or a different name per chain. Pick one before you start:
Type | What it does | Pick this when |
Default primary name | Set once on Ethereum Mainnet. Works on any EVM 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, see Set a primary name for your smart contract. For the basic case on Ethereum Mainnet, use the main app, see Set your primary name.
How to set the Default primary name
The Manager is the wallet that controls a name's records; only the Manager can set the Default address.
Go to primary.ens.domains and connect your wallet.
Search your ENS name.
In the Default section, select 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 Default address.
Approve the primary name transaction in your wallet.
If the Default address doesn't already point at the wallet you picked, approve that transaction too. If you're not the Manager, the app prompts you to switch wallets here.
Most confirm in 1–2 blocks; busy networks can take longer. Once both land, your Default primary name is active.
How to set a Network (L2) primary name
For any network you set a primary name on, you need a little ETH on that network (Base ETH on Base, and so on) to cover gas.
Go to primary.ens.domains and connect your wallet.
Search your
.ethname.Find the chain: Base, Arbitrum, OP Mainnet, Linea, or Scroll.
Select Set (or Update) and pick the wallet you want for that chain.
Select 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.
If the chain's address doesn't already point at that wallet, switch back to Ethereum Mainnet to set it. Select Switch connection, connect the Manager wallet (only the Manager can change records), and approve.
Wait for syncing. Sync times vary by chain — see L2 sync times. The name won't show until syncing finishes and the chain's address is set on Ethereum Mainnet.
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 | What to do |
Incomplete | The Default primary name is set, but the matching Default address isn't on the name yet. | Set the Default address on the name; you need to be the name's Manager to do that. Waiting won't clear this. If you just want your wallet to stop showing the name, clear the primary name instead. See How to clear a Network primary name. |
Resolved from Default | No Network primary name is set on this chain, so apps fall back to your Default. | Nothing, unless you want a different name on this chain. |
Syncing | A Network primary name was just set or changed. The change is spreading across the L2. | Wait. See the sync times above. |
Active | The primary name is live on that chain. | Nothing. |
How to clear a Network primary name
At primary.ens.domains, find the chain, select the bin icon and approve on that chain. If you have a Default primary name, it takes over as the fallback. For the full steps and other ways to clear, see Clear your primary name.
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.
Common questions
Does setting a primary name on an L2 cost anything?
Gas only, no other fee. You need a little ETH on the L2 (Base ETH on Base, and so on), and ETH on Ethereum Mainnet if the chain's address record still needs setting.
I use the Coinbase or Base app and only have ETH on Base — can I set a primary name?
Yes. If the address already points at your wallet, Base ETH is enough. If it doesn't, you need a little ETH on Ethereum Mainnet as well — address records live there, and so does a Default primary name. Bridge a little across and try again. It covers gas, not a fee.
How many transactions are needed to set a primary name?
One on the L2 to set the primary name, and one on Ethereum Mainnet to set that chain's address — the second only if the address isn't already pointing at your wallet. A Default primary name runs entirely on Ethereum Mainnet: set the name, then the Default address if it isn't set.
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 matching address record 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.
Can I test this on Sepolia?
Yes. Use sepolia.primary.ens.domains with Sepolia test ETH. The steps are the same, but Sepolia syncs more slowly.

















