Search projects, hackathons, sponsors and tech

    ← All projects

    HumanGate

    The verification gateway for human-backed AI agents. Verify once with World ID, access everywhere.

    Demo

    About

    As a developer, every time my AI agent needs tokens from a faucet or access to a protected service, it gets blocked by a CAPTCHA. I have to stop what I'm doing and solve it manually. Every time. HumanGate fixes this. It's a shared on-chain whitelist of human-backed AI agents. The human verifies once with World ID, and the agent gets registered on-chain with an ENS identity (bob.humanbacked.eth). From that point on, the agent passes any HumanGate-protected service autonomously — using challenge-response authentication where the agent signs a nonce with its private key, and the service checks both the signature (proves identity) and isVerified() on-chain (proves human-backed). The human never touches the faucet. The agent does everything after the one-time verification. Deployed on World Chain mainnet. 16/16 tests passing. Live at humangate-lake.vercel.app.

    How it's made

    HumanGate is built with Solidity 0.8.24 (Hardhat), Next.js 14, and TypeScript. Three smart contracts are deployed on World Chain mainnet: HumanGate (agent whitelist + World ID proof verification via cloud API), HumanGateResolver (ENSIP-10 wildcard resolver with 7 default text records for agent identity), and ProtectedFaucet (demo service that imports IHumanGate in one line). World ID integration uses IDKit v4 with deviceLegacy preset. The proof is verified via the World ID Cloud API (/v4/verify/{rp_id}), then the agent is registered on-chain via registerVerified(). RP signatures are generated server-side using @worldcoin/idkit-server. ENS integration implements ENSIP-10 wildcard resolution — the resolver IS the registry (like on.eth). Each verified agent gets a human-readable name (bob.humanbacked.eth) with text records as verifiable credentials. The resolver supports both addr() and text() resolution. The EIP-712 pass system signs a portable credential the agent carries for off-chain verification (ecrecover, no gas). A challenge-response API lets agents prove wallet ownership before checking the whitelist. Built with Claude Code as AI assistant. All architectural decisions, product pivots, and testing done by the team. AI attribution documented in README.