Self Protocol
Self is a privacy-first, open-source identity protocol built on zero-knowledge proofs. It lets developers verify real-world identity attributes — age, nationality, sanctions status, proof-of-human — without exposing personal data.
Self bridges the gap between real-world identity and on-chain activity. Users verify once with the Self app, then selectively disclose attributes across any application that integrates the protocol.
Products
Self Pass
Identity verification for applications. Verify that your users are real humans, meet age requirements, or pass sanctions checks — all without seeing their personal data. Supports passports, national IDs, Aadhaar, and KYC attestations from 60+ countries.
Self Connect
An open-source protocol that maps off-chain identifiers (phone numbers, email addresses, Twitter handles, GitHub usernames) to on-chain blockchain addresses. Enables users to discover and transact with each other using familiar identifiers instead of hex addresses.
Self Agent ID
On-chain proof-of-human identity for AI agents. Each agent receives a soulbound ERC-721 NFT backed by a ZK passport verification, enabling trustless proof-of-human for autonomous agents. Implements the ERC-8004 standard with SDKs in TypeScript, Python, and Rust.
Get started with Self Agent ID
Use Cases
Sybil resistance — Prove users are unique humans without collecting personal data
Age verification — Gate content or services by age without revealing date of birth
Compliance — Check sanctions lists (OFAC) and nationality restrictions on-chain
Airdrop protection — Ensure token distributions go to real, unique humans
Quadratic funding — Prevent farmers from skewing rewards
Agent identity — Prove AI agents are backed by verified humans
Social identity — Map real-world identifiers to wallet addresses
Resources
Workshop (ETHGlobal Buenos Aires) — Hands-on introduction to building with Self
Self Builder Group — Telegram community for developers
Celo Sepolia Faucet — Testnet funds for development
Last updated
