Passports for AI Agents

Verified human owner ยท Human-readable ENS name ยท Hardware-enforced spending limits. Three protocols. One passport.

๐ŸŒ
World ยท AgentKit โ€” $8KWorld ยท World ID 4.0 โ€” $8K

Proof of Human

World ID 4.0 binds every agent to its verified human owner via a ZK proof. Bots can't register. One real human per agent. Proof validated on the backend on every action.

๐Ÿ”ท
ENS ยท AI Agents โ€” $5K

Agent Identity

Each agent gets a programmatic ENS subname like trading-bot.agentpass.eth. Metadata stored as text records. Discoverable from any ENS client or wallet.

๐Ÿ”
Ledger ยท AI Agents โ€” $6K

Hardware Control

Policy-based spending: actions below your threshold run free; above it, your Ledger device must physically approve before anything moves on-chain.

How it works

  1. 1
    Register โ€” Enter your agent wallet, verify with World ID (ZK proof), get an ENS subname instantly. The registration is immutable on-chain.
  2. 2
    Set Policy โ€” Connect your Ledger. Define your free threshold and daily cap. The policy is stored server-side and enforced on every action.
  3. 3
    Agent Operates โ€” Your agent calls AgentPass-protected endpoints. Small actions auto-approve. Large actions pause and ping your Ledger โ€” physical button press required.
  4. 4
    On-chain Execution โ€” Agents can submit pre-signed transactions with their action. On Ledger approval, the server broadcasts the transaction and returns the tx hash.

Developer SDK

Wrap any agent action with a single call. Install @agentpass/sdk in your agent codebase.

import { AgentPass } from "@agentpass/sdk";

const pass = new AgentPass({ slug: "trading-bot-abc", walletAddress: "0x..." });

// Blocks until owner decides via Ledger (or auto-approves)
const result = await pass.execute(
  { description: "Swap 5 USDC โ†’ ETH", amountUSDC: 5 },
  async () => uniswap.swap(5)   // called only if approved
);

console.log(result.approved, result.data);