Skip to main content
World ID is an anonymous proof of human credential that lets people prove they are a real and unique human online without sharing personal information. In the age of AI, it gives relying parties a high-assurance signal to stop bots, duplicate accounts, and abuse while keeping onboarding fast and privacy-preserving. World ID credentials extend that trust layer with additional proofs, like proof of age and document-backed signals, without exposing underlying user data.

Developer Quickstart

Add proof of human to your app with one React widget.
import { IDKitRequestWidget } from "@worldcoin/idkit";
const rpContext = await getRpContext("verify-account");
<IDKitRequestWidget
  app_id="app_xxxxx"
  action="verify-account"
  rp_context={rpContext}
  // verify proof + nullifier on your backend
  handleVerify={verifyOnBackend}
  onSuccess={unlockFeature}
/>

Credentials

Proof of Human

Proof of Human

Highest-assurance uniqueness signal from Orb verification. Best for one-person-one-action flows and strong Sybil resistance.

Document

Document

Proves possession of a unique government document through NFC checks. Useful for proof of age and document-backed access flows.

Selfie Check

Selfie Check
Beta

Low-friction liveness and uniqueness signal from a selfie flow. Best for sign-up and bot defense where speed matters most.

Start building

Stop bots and duplicate accounts

Use proof of human to enforce one human per account and reduce Sybil abuse in rewards, referrals, governance, and account creation.

Protect conversion and user privacy

Replace CAPTCHA-heavy or document-heavy gating with reusable proof flows. Relying parties receive proofs, not personal data.

Privacy by architecture

Zero-knowledge proofs

Users prove what is true without revealing personal information. Proofs are unlinkable across apps.

Multi-party computation

Matching and uniqueness checks are split across independent nodes so no single party holds complete sensitive data.

Self-custodial

Proof generation happens on the user’s device. Your app receives a proof, not raw personal data.