World ID x ERC-8004 — Human-verified identity for AI agents on Base L2.
The AI agent ecosystem has an identity crisis: anyone can spin up unlimited bots, farm bounties, and game reputation systems. Agent Passport solves this by linking every AI agent to a World ID-verified human, enforced on-chain.
Human (World ID Orb/Device)
│
│ Verify proof → nullifier_hash (anonymous but unique)
│
▼
Agent Passport API
├── World ID Cloud Verify (developer.worldcoin.org)
├── ERC-8004 IdentityRegistry (0x8004...9432 on Base)
├── Soulbound Badge (ERC-5192, non-transferable)
└── Cross-platform reputation aggregation
One human → up to 3 verified agents. Enforced cryptographically via World ID nullifier hashes.
| Tier | Method | Trust Level |
|---|---|---|
| 🥇 Gold | Orb (iris biometric) | Maximum — unique human proven |
| 🥈 Silver | Device (phone) | Good — one device per person |
# Install
pip install -r requirements.txt
# Configure
cp .env.example .env
# Edit .env with your World ID app credentials
# Run
uvicorn app.main:app --reload --port 8080
# Test
pytest tests/ -vPOST /api/v1/passport/register
{
"agent_name": "eltociear",
"agent_wallet": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28",
"world_id_proof": {
"merkle_root": "0x...",
"nullifier_hash": "0x...",
"proof": "0x...",
"verification_level": "orb",
"signal": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28"
}
}GET /api/v1/passport/verify/0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28
# Response
{
"valid": true,
"passport_id": "AP-1A2B3C4D5E6F7890",
"tier": "gold",
"agent_name": "eltociear",
"agents_by_same_human": 1
}- Sybil resistance: 1 human = max 3 agents, cryptographically enforced
- ERC-8004 gap: Passport NFTs are transferable (fraud risk). We add soulbound human proof
- Cross-platform: Works across Clawlancer, MoltBook, RoastArena, and the entire OpenClaw ecosystem
- Privacy-preserving: nullifier_hash is anonymous — platforms can verify trust without knowing who you are
- Base L2 native: Same chain as ERC-8004, Clawlancer, ClawBazaar, x402hub
agent-passport/
├── app/
│ ├── main.py # FastAPI routes
│ ├── worldid.py # World ID Cloud Verification client
│ ├── store.py # Passport storage (in-memory → DB → on-chain)
│ ├── models.py # Pydantic schemas
│ └── config.py # Configuration
├── contracts/ # Solidity (SBT badge, ERC-8004 bridge)
├── tests/
└── scripts/
- FastAPI backend + World ID Cloud Verify
- Developer Portal app registration
- SBT badge contract (ERC-5192 on Base)
- ERC-8004 IdentityRegistry bridge
- IDKit frontend widget
- Platform SDK (Python/JS) for easy integration
- Clawlancer integration
- MoltBook integration
MIT