Skip to main content

Set a primary name on Base, Arbitrum, or other L2s

Set a different ENS name per chain at primary.ens.domains: set the reverse record on the L2, the address record on Ethereum Mainnet.

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.

  • .eth names and their onchain subnames only. Project names like yourname.base.eth can'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 .eth name everywhere.

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.

  1. Go to primary.ens.domains and connect your wallet.

  2. Search your ENS name.

  3. In the Default section, select Set (or Update if one's already there).

  4. Pick the wallet you want as your Default primary name.

    The Default section, with each chain's address marked Incomplete
    The Choose an address dialog
  5. 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.

    The Choose chains dialog, with Base selected
  6. Approve the primary name transaction in your wallet.

  7. 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.

    The Update Default address dialog, asking you to switch wallet

Most confirm in 1–2 blocks; busy networks can take longer. Once both land, your Default primary name is active.

The Ethereum row, showing the address resolved from Default

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.

  1. Go to primary.ens.domains and connect your wallet.

  2. Search your .eth name.

  3. Find the chain: Base, Arbitrum, OP Mainnet, Linea, or Scroll.

  4. Select Set (or Update) and pick the wallet you want for that chain.

    The OP Mainnet card, with no address set
    The Choose an address dialog, with an address pasted in
  5. 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.

    The Set OP Mainnet primary name dialog, asking you to switch
    The Connect a Wallet chooser, listing the wallet options
  6. Approve the primary name transaction on the L2.

  7. 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.

    The Update OP Mainnet address dialog, asking you to switch
  8. 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.

The This change is not immediate warning, with I understand
The OP Mainnet card, showing the Syncing status
The Arbitrum One card, showing an Active address

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

  1. Search for an ENS name (or a 0x address).

  2. Open the More tab.

  3. The primary name section shows the active Default and Network primary names with the wallet each one points at.

A name's tabs, with an arrow at More
The primary name section, listing an address per network

You can also search a 0x address to see if a primary name is set.

The search bar, with an address pasted and its name found
The address page, headed by the name it resolves to

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.

Did this answer your question?