Skip to content

Domain Resolver

Assigned resolver, stored records, resolver permissions, and events.
query DomainResolver($name: InterpretedName!) {
  domain(by: { name: $name }) {
    resolver {
      records { edges { node { node keys coinTypes } } }
      permissions { resources { edges { node { resource users { edges { node { user { address } roles } } } } } } }
      events { totalCount edges { node { topics data timestamp } } }
    }
  }
}
{
  "name": "demomigration.eth"
}
{
  "data": {
    "domain": {
      "resolver": {
        "records": {
          "edges": [
            {
              "node": {
                "node": "0x48312b5175fe09ba3258adfaa7b41377451f11616726770e844c85018f51e80a",
                "keys": [
                  "com.twitter",
                  "description"
                ],
                "coinTypes": []
              }
            },
            {
              "node": {
                "node": "0x557fa88f560ad2602e7a03b84201109bd3a4fcac5d33effa63d367781156f86e",
                "keys": [
                  "description"
                ],
                "coinTypes": []
              }
            },
            {
              "node": {
                "node": "0x7c373628c8f997165f201947222fcfbe102f9d1ae1f693e188f891aad9fdf87c",
                "keys": [
                  "com.twitter"
                ],
                "coinTypes": []
              }
            },
            {
              "node": {
                "node": "0x85b36edc4fa474edd2da2cda5445dc5bcc88e897dbfc50349ca0282d133be8b7",
                "keys": [
                  "description"
                ],
                "coinTypes": []
              }
            },
            {
              "node": {
                "node": "0xc78c2904ed79c457f13c7f209f9eeeba66d0d843bfcfb630cd4ad2301ac7b77c",
                "keys": [
                  "description"
                ],
                "coinTypes": []
              }
            },
            {
              "node": {
                "node": "0xcc479ce25282f2ba33d415e9b4cb473bea70ee5fd4091200c4a96b714bb961ea",
                "keys": [
                  "com.twitter",
                  "description"
                ],
                "coinTypes": []
              }
            },
            {
              "node": {
                "node": "0xf6910e4b50bcf1db17bafcf8d93cffe9e46f69b3bd68ed6c371523755485667d",
                "keys": [
                  "com.twitter",
                  "description"
                ],
                "coinTypes": [
                  60
                ]
              }
            }
          ]
        },
        "events": {
          "totalCount": 12,
          "edges": [
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0x7c373628c8f997165f201947222fcfbe102f9d1ae1f693e188f891aad9fdf87c",
                  "0x7b8e740dad11ad11abceebf798f458a149d945f7c4448784733725f3fa21225e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b636f6d2e747769747465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007796f67696e746800000000000000000000000000000000000000000000000000",
                "timestamp": "1778524611"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0xcc479ce25282f2ba33d415e9b4cb473bea70ee5fd4091200c4a96b714bb961ea",
                  "0x7b8e740dad11ad11abceebf798f458a149d945f7c4448784733725f3fa21225e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b636f6d2e747769747465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007796f67696e746800000000000000000000000000000000000000000000000000",
                "timestamp": "1778524668"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0xcc479ce25282f2ba33d415e9b4cb473bea70ee5fd4091200c4a96b714bb961ea",
                  "0x1596dc38e2ac5a6ddc5e019af4adcc1e017a04f510d57e69d6879d5d2996bb8e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b6465736372697074696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045465737400000000000000000000000000000000000000000000000000000000",
                "timestamp": "1778525667"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0x48312b5175fe09ba3258adfaa7b41377451f11616726770e844c85018f51e80a",
                  "0x7b8e740dad11ad11abceebf798f458a149d945f7c4448784733725f3fa21225e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b636f6d2e747769747465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007796f67696e746800000000000000000000000000000000000000000000000000",
                "timestamp": "1778525993"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0x48312b5175fe09ba3258adfaa7b41377451f11616726770e844c85018f51e80a",
                  "0x1596dc38e2ac5a6ddc5e019af4adcc1e017a04f510d57e69d6879d5d2996bb8e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b6465736372697074696f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002476d000000000000000000000000000000000000000000000000000000000000",
                "timestamp": "1778526019"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0xf6910e4b50bcf1db17bafcf8d93cffe9e46f69b3bd68ed6c371523755485667d",
                  "0x1596dc38e2ac5a6ddc5e019af4adcc1e017a04f510d57e69d6879d5d2996bb8e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b6465736372697074696f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c454e5320456e67696e6565720000000000000000000000000000000000000000",
                "timestamp": "1778527438"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0xf6910e4b50bcf1db17bafcf8d93cffe9e46f69b3bd68ed6c371523755485667d",
                  "0x7b8e740dad11ad11abceebf798f458a149d945f7c4448784733725f3fa21225e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b636f6d2e747769747465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007796f67696e746800000000000000000000000000000000000000000000000000",
                "timestamp": "1778527438"
              }
            },
            {
              "node": {
                "topics": [
                  "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752",
                  "0xf6910e4b50bcf1db17bafcf8d93cffe9e46f69b3bd68ed6c371523755485667d"
                ],
                "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014f618330f51fa54ce5951d627ee150c0fdadeba43000000000000000000000000",
                "timestamp": "1778527462"
              }
            },
            {
              "node": {
                "topics": [
                  "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2",
                  "0xf6910e4b50bcf1db17bafcf8d93cffe9e46f69b3bd68ed6c371523755485667d"
                ],
                "data": "0x000000000000000000000000f618330f51fa54ce5951d627ee150c0fdadeba43",
                "timestamp": "1778527462"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0x557fa88f560ad2602e7a03b84201109bd3a4fcac5d33effa63d367781156f86e",
                  "0x1596dc38e2ac5a6ddc5e019af4adcc1e017a04f510d57e69d6879d5d2996bb8e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b6465736372697074696f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007596f67696e746800000000000000000000000000000000000000000000000000",
                "timestamp": "1778773686"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0x85b36edc4fa474edd2da2cda5445dc5bcc88e897dbfc50349ca0282d133be8b7",
                  "0x1596dc38e2ac5a6ddc5e019af4adcc1e017a04f510d57e69d6879d5d2996bb8e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b6465736372697074696f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007596f67696e746800000000000000000000000000000000000000000000000000",
                "timestamp": "1778773686"
              }
            },
            {
              "node": {
                "topics": [
                  "0x448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1",
                  "0xc78c2904ed79c457f13c7f209f9eeeba66d0d843bfcfb630cd4ad2301ac7b77c",
                  "0x1596dc38e2ac5a6ddc5e019af4adcc1e017a04f510d57e69d6879d5d2996bb8e"
                ],
                "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b6465736372697074696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045465737400000000000000000000000000000000000000000000000000000000",
                "timestamp": "1778774449"
              }
            }
          ]
        },
        "permissions": {
          "resources": {
            "edges": [
              {
                "node": {
                  "resource": "0",
                  "users": {
                    "edges": [
                      {
                        "node": {
                          "roles": "7719472615821079694904732333912527190217998977709370935963838933860875309329",
                          "user": {
                            "address": "0xf618330f51fa54ce5951d627ee150c0fdadeba43"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            ]
          }
        }
      }
    }
  }
}
# POST JSON to your ENSNode Omnigraph endpoint (same path enssdk uses).
curl -sS -X POST "https://api.v2-sepolia.ensnode.io/api/omnigraph" \
  -H "Content-Type: application/json" \
  -d @- <<'EOF'
{
  "query": "query DomainResolver($name: InterpretedName!) { domain(by: { name: $name }) { resolver { records { edges { node { node keys coinTypes } } } permissions { resources { edges { node { resource users { edges { node { user { address } roles } } } } } } } events { totalCount edges { node { topics data timestamp } } } } } }",
  "variables": {
    "name": "demomigration.eth"
  }
}
EOF
import { createEnsNodeClient } from "enssdk/core";
import { asInterpretedName } from "enssdk";
import { graphql, omnigraph } from "enssdk/omnigraph";

const client = createEnsNodeClient({ 
  url: process.env.ENSNODE_URL || "https://api.v2-sepolia.ensnode.io"
}).extend(omnigraph);

const DomainResolverQuery = graphql(`
  query DomainResolver($name: InterpretedName!) {
    domain(by: { name: $name }) {
      resolver {
        records { edges { node { node keys coinTypes } } }
        permissions { resources { edges { node { resource users { edges { node { user { address } roles } } } } } } }
        events { totalCount edges { node { topics data timestamp } } }
      }
    }
  }
`);

const result = await client.omnigraph.query({
  query: DomainResolverQuery,
  variables: {
    name: asInterpretedName("demomigration.eth"),
  },
});

if (result.errors) throw new Error(JSON.stringify(result.errors));
console.log(JSON.stringify(result.data, null, 2));
import { OmnigraphProvider, useOmnigraphQuery, graphql } from "enskit/react/omnigraph";
import { createEnsNodeClient } from "enssdk/core";
import { asInterpretedName } from "enssdk";
import { omnigraph } from "enssdk/omnigraph";

const client = createEnsNodeClient({
  url: import.meta.env.VITE_ENSNODE_URL || "https://api.v2-sepolia.ensnode.io"
}).extend(omnigraph);

const DomainResolverQuery = graphql(`
  query DomainResolver($name: InterpretedName!) {
    domain(by: { name: $name }) {
      resolver {
        records { edges { node { node keys coinTypes } } }
        permissions { resources { edges { node { resource users { edges { node { user { address } roles } } } } } } }
        events { totalCount edges { node { topics data timestamp } } }
      }
    }
  }
`);

function DomainResolverResult() {
  const [result] = useOmnigraphQuery({
    query: DomainResolverQuery,
    variables: {
      name: asInterpretedName("demomigration.eth"),
    },
  });
  const { data, fetching, error } = result;
  if (!data && fetching) return <p>Loading…</p>;
  if (error) return <p>Error: {error.message}</p>;
  if (!data) return <p>No data returned.</p>;
  const formatted = JSON.stringify(
    data,
    (_, value) => (typeof value === "bigint" ? value.toString() : value),
    2,
  );
  return <code>{formatted}</code>;
}

export default function App() {
  return (
    <OmnigraphProvider client={client}>
      <DomainResolverResult />
    </OmnigraphProvider>
  );
}

        # 1. Create project
mkdir -p my-ens-script/src && cd my-ens-script
npm init -y && touch src/index.ts
npm pkg set type=module scripts.start="tsx src/index.ts"
# 2. Install dependencies
npm install enssdk@1.13.1 && npm install -D tsx typescript @types/node
# 3. Paste the TypeScript snippet above into src/index.ts
# 4. Run
ENSNODE_URL=https://api.v2-sepolia.ensnode.io npm start
      

        # 1. Create project
mkdir -p my-ens-script/src && cd my-ens-script
pnpm init && touch src/index.ts
pnpm pkg set type=module scripts.start="tsx src/index.ts"
# 2. Install dependencies
pnpm add enssdk@1.13.1 && pnpm add -D tsx typescript @types/node
# 3. Paste the TypeScript snippet above into src/index.ts
# 4. Run
ENSNODE_URL=https://api.v2-sepolia.ensnode.io pnpm start
      

        # 1. Create project
npm create vite@latest my-ens-app -- --template react-ts --no-interactive --no-immediate
cd my-ens-app
# 2. Install dependencies
npm install
npm install enskit@1.13.1 enssdk@1.13.1
# 3. Copy the TSX snippet above into src/App.tsx
# 4. Run
VITE_ENSNODE_URL=https://api.v2-sepolia.ensnode.io npm run dev
      

        # 1. Create project
pnpm create vite@latest my-ens-app --template react-ts --no-interactive --no-immediate
cd my-ens-app
# 2. Install dependencies
pnpm install
pnpm add enskit@1.13.1 enssdk@1.13.1
# 3. Copy the TSX snippet above into src/App.tsx
# 4. Run
VITE_ENSNODE_URL=https://api.v2-sepolia.ensnode.io pnpm run dev
      
Run in ENSAdmin
GraphQL Query
query DomainResolver($name: InterpretedName!) {
domain(by: { name: $name }) {
resolver {
records { edges { node { node keys coinTypes } } }
permissions { resources { edges { node { resource users { edges { node { user { address } roles } } } } } } }
events { totalCount edges { node { topics data timestamp } } }
}
}
}

Payload and transport examples

{
"name": "demomigration.eth"
}

Response is an illustrative snapshot; live data depends on your ENSNode instance. The curl tab shows a POST to https://api.v2-sepolia.ensnode.io/api/omnigraph

Back to Examples