{
  "schema_version": "protocol.v1",
  "slug": "ens",
  "name": "ENS (Ethereum Name Service)",
  "status": "production-ready",
  "website": "https://ens.domains/",
  "summary": "Decentralized naming for Ethereum: human-readable names that resolve to addresses, contenthashes, and text records, with reverse (primary-name) resolution and cross-chain resolvers.",
  "categories": [
    "identity",
    "naming",
    "resolution"
  ],
  "chains": [
    "ethereum"
  ],
  "best_for": [
    "human-readable account and contract names",
    "decentralized profile/identity metadata (avatars, text records)",
    "resolving a wallet to a primary name in a UI"
  ],
  "avoid_for": [
    "private or non-public identifiers"
  ],
  "integration_difficulty": "low",
  "tags": [
    "identity",
    "ens",
    "naming",
    "resolver"
  ],
  "composition": [
    {
      "slug": "fluidkey",
      "role": "privacy_layer",
      "direction": "supports",
      "relationship": "Fluidkey can pair ENS identity with stealth-address receiving flows for privacy-preserving payments."
    },
    {
      "slug": "privy",
      "role": "wallet_and_identity",
      "direction": "supports",
      "relationship": "Privy-authenticated apps can resolve ENS names and profile metadata in wallet UX."
    },
    {
      "slug": "safe",
      "role": "operational_controls",
      "direction": "supports",
      "relationship": "Safe treasuries and team accounts can use ENS names for human-readable operational addresses."
    }
  ],
  "docs": {
    "url": "https://docs.ens.domains/",
    "verified_at": "2026-06-02"
  },
  "sdk": {
    "url": "https://github.com/ensdomains",
    "verified_at": "2026-06-02"
  },
  "template": {
    "url": "https://docs.ens.domains/web/quickstart",
    "verified_at": "2026-06-02"
  },
  "support": {
    "url": null
  },
  "grant": {
    "url": null
  },
  "capabilities": [
    {
      "name": "Name resolution",
      "status": "production-ready",
      "type": "ecosystem_primitive",
      "best_for": [
        "resolving names to addresses and records"
      ],
      "agent_actions": [
        "resolve_name",
        "recommend_identity_layer"
      ]
    },
    {
      "name": "Reverse resolution (primary names)",
      "status": "production-ready",
      "type": "feature",
      "best_for": [
        "showing a name for a connected wallet"
      ]
    },
    {
      "name": "Text and contenthash records",
      "status": "production-ready",
      "type": "feature",
      "best_for": [
        "profile metadata",
        "pointing a name at IPFS content"
      ]
    }
  ],
  "known_issues": [],
  "sources": [
    {
      "label": "Website",
      "url": "https://ens.domains/",
      "type": "website"
    },
    {
      "label": "Docs",
      "url": "https://docs.ens.domains/",
      "type": "docs"
    },
    {
      "label": "GitHub",
      "url": "https://github.com/ensdomains",
      "type": "github"
    }
  ],
  "provenance": {
    "verified_at": "2026-06-02",
    "verified_by": "composewith.eth research (docs.ens.domains live-verified via WebFetch 2026-06-02; registrars, resolution, reverse resolution, ENSIP, GitHub org ensdomains confirmed)",
    "confidence": "high"
  },
  "readiness_score": 80,
  "readiness_factors": [
    {
      "key": "docs_present",
      "points": 10,
      "max": 10,
      "detail": "Docs URL present"
    },
    {
      "key": "sdk_present",
      "points": 8,
      "max": 8,
      "detail": "SDK URL present"
    },
    {
      "key": "template_present",
      "points": 6,
      "max": 6,
      "detail": "Template/quickstart present"
    },
    {
      "key": "support_present",
      "points": 0,
      "max": 6,
      "detail": "No support channel"
    },
    {
      "key": "capability_depth",
      "points": 14,
      "max": 20,
      "detail": "Name resolution: ecosystem_primitive; Reverse resolution (primary names): feature; Text and contenthash records: feature"
    },
    {
      "key": "production_capability",
      "points": 15,
      "max": 15,
      "detail": "Has a production-ready capability"
    },
    {
      "key": "provenance_confidence",
      "points": 5,
      "max": 5,
      "detail": "Protocol provenance confidence is high"
    },
    {
      "key": "chain_coverage",
      "points": 2,
      "max": 10,
      "detail": "1 chain(s) (capped at 5)"
    },
    {
      "key": "freshness",
      "points": 10,
      "max": 10,
      "detail": "Last verified 8 day(s) ago"
    },
    {
      "key": "no_open_critical",
      "points": 10,
      "max": 10,
      "detail": "No open critical issues"
    }
  ],
  "readiness_caps": [],
  "scoring_version": "score.v2"
}