Introduction
Proof of Humanity (PoH) is a Sybil-resistant registry of unique human identities. This page covers both V1 (Ethereum Mainnet) and V2 (Gnosis Chain). 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
V1 (Ethereum Mainnet)
PoH V1 runs on Ethereum Mainnet and V1 integration remains available. A Fork Module allows V1 registrations to be recognized by V2. The EPNS/Push Protocol integration that was active in V1 has been discontinued, and is replaced in V2 by Atlas + SendGrid. For V1 contract addresses, see Deployment Addresses.V2 (Gnosis Chain)
The sections below document PoH V2 technical details. Technical notes for integrators:- PNK airdrop: the first 10,000 verified humans can claim 1,200 PNK, doubled by staking in the Humanity Court. A dashboard tracks registrations and airdrop claims.
- Ledger limitation: hardware wallets do not currently support EIP-7702 on Gnosis Chain, which the standard airdrop claim flow requires. A manual claiming guide is available.
- Email notifications: every step of the profile flow triggers notifications processed end-to-end by Atlas, including pending revocation, vouching activity, disputed flows, and challenge outcomes.
- Evidence keys: the interface writes evidence files with the correct evidence key. Court V1 and the Dispute Resolver include a normalization workaround for older submissions that used the wrong key.
- Execution pipeline: profile advancement uses a rewritten auto-advance execute pipeline.
- Security: frontend security reviews cover XSS attack vectors, and the app runs on a patched NextJS 15.
- In progress: a voucher reward distributor contract and a referral system (technical specifications under review).
Atlas is an internal backend library for Kleros development teams only. It is not intended for community use or integration.
Contract Addresses
- Gnosis Chain (Production)
- Ethereum Mainnet (V1 Fork Module)
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:1
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.2
Cross-Chain Synchronization
Bridge contracts propagate humanity state across chains, enabling
isHuman() checks on any supported network.3
Dispute Resolution
Challenged registrations create disputes in Kleros Court. Jurors evaluate video evidence and vouching validity according to the registration policy.
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 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