Documentation Index
Fetch the complete documentation index at: https://kleros-mintlify-changelog-2026-05-12-1778458371.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
Proof of Humanity (PoH) V2 is a Sybil-resistant registry of unique human identities. Each verified human receives a soulbound humanity ID (humanityId) that persists across wallet changes. PoH V2 uses Kleros Court for dispute resolution when profiles are challenged.
Unlike V1 where each registration was bound to a specific wallet address, V2 decouples identity from address. One human maps to one humanity ID, which maps to one wallet address at any time. If a user loses wallet access, they can remove the lost address and re-register with a new one using the same humanityId.
Smart Contracts
Core interfaces, data structures, and contract addresses
Integration Guide
Integrate PoH identity verification into your application
Contract Addresses
- Gnosis Chain (Production)
- Ethereum Mainnet (V1 Fork Module)
| Contract | Address |
|---|---|
| ProofOfHumanity | 0xA7Fd7A97bF12E112B2263957e115e0c46cE6A38C |
| CrossChainProofOfHumanity | Deployed per foreign chain |
PoH V2 operates on Gnosis Chain as the home chain. Cross-chain state is synchronized to other chains through bridge contracts. V1 registrations remain accessible through a Fork Module.
Architecture
PoH V2 consists of three layers:Identity Registry
Core contract managing humanity IDs, registration claims, vouching, and challenge periods. Each humanity ID is a
bytes20 value that uniquely identifies a verified human.Cross-Chain Synchronization
Bridge contracts propagate humanity state across chains, enabling
isHuman() checks on any supported network.Identity Model
humanityId equal to their original registration address (bytes20(address)). V2 users receive a new unique humanityId at registration.
Registration Lifecycle
Key Features
Soulbound Humanity IDs
Soulbound Humanity IDs
Humanity IDs persist across wallet changes. Applications that store data by
humanityId rather than address preserve user reputation and assets even when the underlying wallet changes.Cross-Chain Verification
Cross-Chain Verification
The
isHuman() function is available on multiple chains through CrossChainProofOfHumanity contracts. Synchronization uses bridge infrastructure to propagate registration state.V1 Backward Compatibility
V1 Backward Compatibility
A Fork Module allows V1 registrations to be recognized by V2. The
isHuman() call automatically checks both V2 native registrations and V1 legacy registrations.Vouching System
Vouching System
New registrants need a vouch from an existing verified human. The keeper bot processes vouches and reward withdrawals automatically, reducing manual intervention.
Resources
GitHub Repository
Smart contracts source code
Live Application
Production PoH interface
Discord
Developer support