# ENS (Ethereum Name Service)

> Decentralized naming for Ethereum: human-readable names that resolve to addresses, contenthashes, and text records, with reverse (primary-name) resolution and cross-chain resolvers.

- Readiness score: **80/100** (score.v2)
- Integration difficulty: low
- Chains: ethereum
- Categories: identity, naming, resolution
- Last verified: 2026-06-02 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)

## Resources

- docs: https://docs.ens.domains/
- sdk: https://github.com/ensdomains
- template: https://docs.ens.domains/web/quickstart

## Good 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

## Capabilities

### Name resolution (production-ready)
Best for: resolving names to addresses and records

### Reverse resolution (primary names) (production-ready)
Best for: showing a name for a connected wallet

### Text and contenthash records (production-ready)
Best for: profile metadata, pointing a name at IPFS content

## Composes with

- **fluidkey** (privacy_layer; supports) — Fluidkey can pair ENS identity with stealth-address receiving flows for privacy-preserving payments.
- **privy** (wallet_and_identity; supports) — Privy-authenticated apps can resolve ENS names and profile metadata in wallet UX.
- **safe** (operational_controls; supports) — Safe treasuries and team accounts can use ENS names for human-readable operational addresses.

---
Canonical: https://composewith.eth/protocols/ens · JSON: https://composewith.eth/protocols/ens.json
