Skip to content

Domain Resolver

Run in ENSAdmin
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": "sfmonicdebmig.eth"
}
{
  "data": {
    "domain": null
  }
}
# 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": "sfmonicdebmig.eth"
  }
}
EOF
ENS Omnigraph GraphQL
query.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 } } }
}
}
}

Payload and transport examples

variables.json
{
"name": "sfmonicdebmig.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