Skip to main content

What is a resolver?

A resolver is the smart contract that answers queries about an ENS name. It stores the records the Registry points to.

Note: The ENS App and ENS Explorer are both currently on Sepolia testnet. Behaviour and available features may change before mainnet.

A resolver is the smart contract that answers queries about an ENS name. When a wallet or app asks "what's the ETH address for yourname.eth?", the Registry says which resolver the name uses, and the resolver returns the answer.

Most ENSv2 names use the Permissioned Resolver — the official, audited resolver set for you when you register. You don't need to touch it day to day.


What a resolver stores

The resolver holds your name's records:

  • Address — your ETH address and addresses on other chains (one per coin type).

  • Text — avatar, website, email, description, and social links.

  • Content hash — a link to a decentralised website (IPFS, Arweave, and similar).

  • ABI — contract interface data.

The Registry is the directory — who owns a name and which resolver it points to. The resolver is the record store. Setting a record calls the resolver; changing the resolver or transferring the name calls the Registry.


Permissioned vs custom resolvers

The Permissioned Resolver is the canonical audited contract most ENSv2 names use. When a name uses it, Explorer's Resolver tab shows a green banner confirming it's the official, audited resolver.

A custom resolver is any other contract — projects sometimes deploy these for off-chain or cross-chain record logic. Explorer doesn't check that a custom address is a working resolver, so a wrong address means records won't resolve and no error shows. If you see an unfamiliar resolver, treat the Records tab as the source of truth for what can actually be read.


Common questions

Where do I see which resolver a name uses?

Open the name and click the Resolver tab. It shows the resolver's Type, Owner, and Network, along with the contract details and the record types it supports.

Why does the Resolver tab show two addresses?

Each name gets its own resolver instance, and every instance runs the same shared code. Contract is your name's instance. Implementation is the shared logic behind it. Factory is the contract that deployed your instance. The split means each name keeps its own records without redeploying the logic every time.

What's an "owned" resolver?

Shorthand for a Permissioned Resolver instance you deployed yourself, so you control its configuration. It's not a separate kind of resolver.

What does "No resolver set" mean?

The name's Registry entry doesn't point to any resolver, so it has no records — apps asking for its address get no answer. Set a resolver to start using records.

How do I change my resolver?

If you own the name, open the Resolver tab and use Change resolver. See How do I change the resolver on my name in ENS Explorer? for the steps. If you're unsure, deploying a new permissioned resolver is the safe default.

Did this answer your question?