Skip to main content

Proof of Humanity 2.0 Integration Guide

This guide is for developers who want to verify whether an address belongs to a registered human.
Integrators consume identity through CrossChainProofOfHumanity. PoH operators manage the registry through ProofOfHumanity. If you are integrating PoH into an application, you only need CrossChainProofOfHumanity.

Quick start: Verify a human

Use CrossChainProofOfHumanity as the integration contract on every supported chain. It exposes both locally registered and synchronized cross-chain humanities.

CrossChainProofOfHumanity addresses

  • Use isHuman(address) when you only need human verification.
  • Use humanityOf(address) and store application data by humanity ID when identity must survive wallet changes.
Cross-chain state is delivered through bridge synchronization, so a recent registration, revocation, or transfer may not appear on another chain immediately.

Identity lookup

Once you have a humanityId from humanityOf(address), these read-only functions provide additional detail:
For the full status of a humanity (vouching state, pending requests, expiration, owner) via getHumanityInfo(humanityId), and for the registry management functions used by operators, see the Smart Contracts reference.

Soulbound Identity Design

PoH V2 follows the principle: 1 human → 1 humanity ID ↔ 1 wallet address. The humanityId is a soulbound identifier that persists across wallet transitions. If a user loses wallet access, they can re-register with a new address while keeping the same humanityId. Applications that key reputation, assets, or history by humanityId rather than by address preserve them across the user’s wallet changes.
V1 users have a humanityId equal to their original registration address (bytes20(address)). V2 users receive a new unique humanityId at registration. The isHuman() call automatically covers V1 registrations through the Fork Module.

Registry contract addresses

Operators who manage the registry directly interact with ProofOfHumanity (and, on Ethereum Mainnet, ProofOfHumanityExtended).

What’s Next?

PoH Overview

Architecture and technical details

Smart Contracts

Core interfaces and data structures