Search projects, hackathons, sponsors and tech

    ← All projects

    ENS Verification

    Verifiable social and email records for ENSv2, with delegated permissions and sponsored updates.

    Demo

    About

    ENS Verification links social accounts and email addresses to ENSv2 names on Sepolia. Each identity record has a companion verification descriptor referencing evidence that clients can validate against current ENS ownership. The application supports wallet-signed GitHub gists and X posts, Farcaster proofs, DKIM-signed email evidence, and operator-signed OAuth attestations for Discord and Telegram. These methods have explicit, distinct trust models rather than treating every connected account as equally trustworthy. ENSv2 powers both ownership verification and delegated record updates. Users can authorize an HCA through resolver permissions and optionally submit sponsored updates through Pimlico. Verification checks live records, signatures, ownership and expiry instead of trusting a stored “verified” flag. The current authority profile supports active second-level .eth names.

    How it's made

    Built as a TypeScript monorepo with a React/Vite frontend, Effect backend, PostgreSQL and Drizzle. ENSForge handles ENSv2 resolution, registry reads, resolver permissions and batched record updates on Sepolia. Wallet signing and transaction approval remain in the frontend. A shared verification protocol defines descriptors, companion record keys and EIP-712 claims binding the name, record value, authority, proof target and expiry. Provider-specific verifiers validate the external evidence. Generic OAuth uses authorization-code flows with PKCE; Telegram additionally validates signed OIDC ID tokens. For sponsored updates, the app checks HCA deployment and permissions only when a write is requested, grants missing permissions during user-approved setup, and submits an ERC-4337 UserOperation through Pimlico. Each identity record and its verification descriptor are updated together in a resolver multicall.