Search projects, hackathons, sponsors and tech

    ← All projects

    Nameslots

    Earn tax revenue with your subnames and guarantee their productive use

    Demo

    About

    Nameslots turns the subnames of any ENS name into a market. Own l2beat.eth, open base.l2beat.eth to anyone. Whoever holds it sets its own price, pays tax on that price continuously, and can be taken out by anyone willing to pay it. Stop paying and you lose it. One number does three jobs: what you say the name is worth, what you pay tax on, and what anyone can buy it from you for. There is no number that lets you sit on a good name for free. That's the anti-squat part. The name itself never moves. addr() returns whoever holds the slot right now, so a turnover writes nothing to the registry. Records are scoped to the tenancy and leave when you do. And both control and income follow the .eth name: sell it and the market underneath moves to the buyer, no transaction needed. Built on ENSv2 and 0xSlots, live on Sepolia.

    How it's made

    Solidity and Foundry. A factory opens one SlotNamespace per parent name, as a beacon proxy so they all upgrade at once. Factory and resolver are UUPS. Each opened label gets a 0xSlots slot, which does the pricing, the escrow and the buyouts. ENSv2: every namespace gets its own UserRegistry through ENS's VerifiableFactory. A NameSlots contracts (one per name) is granted registrar roles in order to be able to register/slot subnames. It also hold text records (so that when owner changes they're not carried over). Then the UserRegistry create is set as sub-registry on the PermissionedRegistry (.eth) Resolution is plain ENS, getEnsAddress and getEnsText, no SDK. Frontend is Next.js 16, wagmi, viem, Turborepo