HumanGate

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

HumanGate

Created At

ETHGlobal Cannes 2026

Project Description

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.

background image mobile

Join the mailing list

Get the latest news and updates

HumanGate | ETHGlobal