Search projects, hackathons, sponsors and tech

    ← All projects

    Spirith

    ENS endowment. Deposit once, the yield generated pays for your name renewal forever.

    Demo

    About

    Immutability is a promise the chain makes, but easily broken by time. People, names, and files come and go, so how can anything last more than a lifetime? Permanence is a leased property; it requires someone to remember and pay the rent. With Spirith, anyone can be a patron of an ENSv2 name, deposit USDC that generates yield, and renew the name indefinitely.

    How it's made

    Each .eth name gets its own USDC earmark deposit; the deposit earns yield through a small adapter interface (a mock on Sepolia, a generic ERC-4626 adapter proven over Aave on a mainnet fork); anyone can call renew(), which pays the ENSv2 registrar directly from that earmark, tips the caller, and writes the name's funding status onto its PermissionedResolver. No admin key can move funds; withdrawals are delayed, never blocked. A subgraph on Subgraph Studio indexes the ENSv2 registry and registrar plus the vault's events, so the whole namespace's expiries and endowments are queryable in one place. On top of it sits a TypeScript MCP server that answers which names die next and optimises renewal cadence against ENSv2's multi-year discounts, plus a keeper that renews whatever the vault allows. A web dashboard reads the subgraph and the chain through wagmi. The home page counts the names dying this month; a list of expiring names with the value at risk by price tier; the endowed names with their funded-until ranges; the graveyard of lapsed names; a patron page with your endowments, owned names, and an interface to register new names on the ENSv2 registrar; a developers page with all the contract addresses and the MCP setup. Each name has a page with the endow interface, a "renew now" button anyone can press once in the renewal window, and the owner's authorisation that lets the vault publish the funding record.