ENS Logo

Layer 2 & Offchain Resolution

All ENS resolution starts on Ethereum Mainnet (or testnet). However, by leveraging the CCIP Read, name resolution can be taken cross-chain, off-chain, and more. This allows for a lot of flexibility in how you can use your ENS and for storage of your ENS records on your favourite Layer 2, or even off-chain.

Resolvers on Layer 2

It's already possible to deploy a resolver to a Layer 2. This is done by verifying data returned from a gateway against, for example, mainnet storage proofs or other mechanisms, depending on the chain.

ENS Labs has created a toolkit called the EVMGateway, which helps with trustless cross-chain data retrieval: this allows you to have, for example, your name controlled by a Resolver on Optimism or Arbitrum, with more EVM compatible chains coming soon.

Offchain Resolution

Moving resolution processes off-chain offers numerous advantages, including efficiency gains and reduced congestion on the main blockchain; however, it also introduces trade-offs in terms of trust, as it necessitates reliance on external systems. Depending on the implementation, names could be stored in a database or be ephemeral. Advantages of offchain name storage include gaslessness and instant updates. If this sounds appealing consider writing an Offchain Resolver.

Popular implementations of offchain names include but are not limited to:


Coinbase Wallet is one of the largest mobile wallets issuing free ENS subnames to their users. These names are stored off-chain on coinbase servers, and can be registered from the Coinbase Wallet App or Browser Extension. An example of a cb.id is lucemans.cb.id.


Uniswap Wallet is another popular mobile wallet that issues free ENS subnames to their users. You can read more about the Uniswap Wallet ENS integration here. An example of a uni.eth is lucemans.uni.eth.


The Lens Ecosystem is also readily accessible through the officially maintained lens.xyz gateway. This means that you can lookup your favourite lens name such as lucemans.lens.xyz and retrieve the information seamlessly.

Last Modified
2 months ago