Intro
This Temperature Check asks the ENS DAO to authorize creation of the two-character second-level domain l2.eth
to be used for the L2 interop initiative around “interoperable addresses” (aka chain-specific addresses) organized by several groups across Ethereum in collaboration with the EF and the “L2 interop working group”.
Minting l2.eth
(details below) will give ERC-7828 “Interoperable Addresses” a permanent home inside ENS via a future custom wildcard resolver. Today’s discussions concerns only the minting and transfer of the name.
Context
The chain-specific-address initiative is driven by two complementary standards:
- ERC-7930 introduces a canonical binary format for (chain, address) pairs.
- ERC-7828 layers human-readable names on top of that binary format, allowing strings such as
alice.eth@rollupname.l2.eth#ABCD1234
.
For ERC-7828 to work in a fully decentralized way, chain names themselves should live inside a reliable registry, such as ENS. Registering l2.eth
gives the DAO a neutral namespace under which every L2 can publish its canonical name (e.g., optimism.l2.eth ⇆ chainId 10
).
Read more details about how ERC-7828 and ERC-7930 changes the game for chain-specific addresses here: RFC: Universal Address Formats for Interoperability (ERC-7828 & ERC-7930).
Approach
There are two equally safe ways the DAO can register l2.eth
, both already used for routine ENS maintenance:
- Use the DAO’s existing Controller wallet: This wallet already has permission to register
.eth
names, so it can claiml2.eth
in a single transaction and hand it over to the multisig. - Temporarily give the Owner wallet controller rights: The Owner wallet briefly grants itself permission, registers
l2.eth
, transfers the name to the multisig, and then removes its own permission. This keeps the long-standing Controller wallet untouched but adds one extra step.
Regardless of which path we choose, the end-state is identical:
- A multisig chosen by the DAO becomes the sole owner of
l2.eth
. - The multisig can later “wrap” the name for fine-grained permissions, set a wildcard resolver, and manage sub-names.
For this temperature check, we focused on plan to submit a proposal that mints l2.eth
and transfers it to a new multisig. The resolver design, record format and first batch of chains will come back as a separate executable proposal once the name is safely in DAO hands.
Benefits
Taking ownership of l2.eth does three very concrete things for ENS and for every wallet that relies on its service.
First, it lets the two pending standards for Interoperable Addresses move from “nice idea” to “live feature.” ERC-7930 already defines how to pack (chain, address)
into bytes, and ERC-7828 defines how to turn that into text. What they both lack is a guaranteed place to resolve the chain part. l2.eth
is that place.
Second, it replaces the current off-chain (GitHub) JSON list of chain names with an on-chain registry that lives at l2.eth
and is controlled by the DAO. Right now, Optimism’s chain ID 10, Arbitrum One’s 42161, Base’s 8453, and hundreds of others sit in a GitHub repo that no contract can trust without manual vetting. Once optimism.l2.eth
, arbitrum.l2.eth
, and zksync.l2.eth
are recorded under a resolver the DAO governs, any smart contract or dApp can fetch that data directly from ENS
Third, the wildcard resolver planned for *.l2.eth
keeps scaling costs tiny. The DAO registers the parent once; after that, adding a new roll-up means the multisig writes a single storage slot with the chain ID.
Next Steps
If this proposal reaches rough consensus, we will:
- Set up the multisig: Gather DAO feedback on signer selection and threshold (details to be finalized before the executable vote).
- Executable proposal: Specify the exact on-chain calls for the chosen registration path and list the multisig signers.
- Execution: Register
l2.eth
, then confirm that the multisig holds the name. - Resolver & records (future): The Working Group will submit a follow-up proposal that defines the wildcard resolver and seeds it with the first set of chain entries.