Skip to content

ENSv2 Readiness

Full access to ENS data formerly required two separate data fetching strategies working in parallel:

  1. ENS resolution — RPC calls with CCIP-read support for offchain data (e.g. via viem) to perform forward or reverse ENS resolution.
  2. Indexed ENS data — the ENS Subgraph for indexed ENS data, such as discovering names owned by an address and all other ENS state outside of ENS resolutions.

Neither system alone was complete.

  • ENS resolution gives you resolver records, but no access to all the other state about ENS!
  • The Subgraph gives you queryable indexed ENS data but is single-chain, has no support for ENSv2’s fundamental data model changes, cannot perform ENS resolutions, doesn’t understand key implementation details of the ENS protocol such as ENSIP-10, ENSIP-19, ENS name normalization (ENSIP-15), etc.., exposes too many internal implementation detail complexities of ENS for app developers, and a number of other key limitations.

In the past, apps building on ENS have had to live with this split and its downstream complexities. And we should note, with ENSv2, the complexity of ENS’s onchain state space meaningfully increases.

ENSIndexer offers the unigraph plugin, which builds a unified polymorphic indexed data model in ENSDb of multiple ENSv1 Nametrees (the ENSv1 onchain state model found in the ENS root registry, Basenames on Base, Lineanames on Linea, 3DNS on Optimism, etc..), and the ENSv2 Namegraph (the ENSv2 onchain state model that may contain cycles, disjoint domains, and allows domains to dynamically reposition themselves across time within the ENSv2 Namegraph).

The ENS Omnigraph API is delivered by the ENSApi service which provides a highly tailored GraphQL API that builds upon and refines the “unigraph” indexed data model held in ENSDb to deliver all your ENS data access needs in a single API endpoint. The ENS Omnigraph API also understands ENS protocol implementation details including ENSIP-15 (ENS name normalization), ENSIP-10, ENSIP-19, and much more so that you can focus on building your app and not all the internal implementation complexities of the ENS protocol.

  • ENS Resolution — The ENS Omnigraph API, through ENSApi, internally implements the ENS Universal Resolver on top of the indexed ENS Unigraph datamodel in ENSDb. We refer to this idea as “ENS Protocol Acceleration”. For cases where ENS Resolution requires offchain data, ENSApi internally performs the CCIP-read operations on your behalf to ensure every resolution request accurately follows all ENS protocol standards. No need for any RPC calls in your app.
  • Indexed ENS data — Access the multichain indexed “unigraph” state model all within a single unified, polymorphic API-level state model that understands ENS protocol implementation details including ENSIP-15 (ENS name normalization), ENSIP-10, ENSIP-19, and much more so that you can focus on building your app and not all the internal implementation complexities of the ENS protocol.