Skip to content

Start typing to search the documentation.

Overview

Self Agent ID is an on-chain identity registry that binds AI agent identities to Self Protocol human proofs. Each agent receives a soulbound ERC-721 NFT backed by a ZK passport verification, enabling trustless proof-of-human for autonomous agents.

The system implements the ERC-8004 Proof-of-Human extension and provides SDK implementations in TypeScript, Python, and Rust with identical feature parity.

Who This Is For

AudienceWhat You Do
Agent buildersRegister an agent identity, sign outbound requests with SelfAgent
Service/API teamsVerify inbound agent signatures with SelfAgentVerifier middleware
Protocol/infra teamsGate smart contracts, query on-chain state, compose with registry interfaces

How It Works

  1. Human scans passport with the Self app (ZK proof generated locally on phone)
  2. Hub V2 verifies the proof on-chain and calls back to the registry
  3. Registry mints a soulbound NFT binding the agent key to a unique human nullifier
  4. Agent signs requests using the SDK; services verify signatures against the on-chain registry

Key Properties

  • Trustless: On-chain verification with no central authority
  • Private: ZK proofs reveal nothing about the human’s identity
  • Composable: A single registry call integrates into any EVM contract, backend, or agent framework
  • Sybil-resistant: Each human maps to a unique nullifier, preventing unlimited agent registration
  • Time-bounded: Proofs expire (default: 1 year or document expiry), requiring periodic re-authentication
  • ERC-8004 compliant: Implements the standard Identity Registry interface with a Proof-of-Human extension

Networks

NetworkChain IDRegistry AddressPassport Required
Celo Mainnet (default)422200xaC3DF9ABf80d0F5c020C06B04Cced27763355944Real passport via Self app
Celo Sepolia (testnet)111422200x043DaCac8b0771DD5b444bCC88f2f8BBDBEdd379Mock documents via Self app

Live Deployment

A2A Protocol

Agents can interact programmatically via the A2A JSON-RPC endpoint at /api/a2a. This supports registration, verification, lookup, deregistration, and proof freshness checks — all through structured intents or natural language.

Send { "intent": "help" } to get a full list of capabilities and a decision guide for choosing the right registration mode.

Architecture

The system consists of three on-chain registries:

  • SelfAgentRegistry — Core identity registry (ERC-8004 + Proof-of-Human extension, soulbound ERC-721)
  • SelfReputationRegistry — ERC-8004 Reputation Registry for aggregated feedback with document-type weighted signals
  • SelfValidationRegistry — ERC-8004 Validation Registry for on-demand third-party validation

Plus SDKs in TypeScript, Python, and Rust with identical feature parity for signing requests, verifying agents, and interacting with the registry.

Next Steps