Worldcoin

Introduction

World ID

The protocol to bring global proof of personhood to the internet.


Introduction

World ID is a digital passport that lets a user prove they are a unique and real person while remaining anonymous. This happens through zero-knowledge proofs (ZKP) and other privacy-preserving cryptographic mechanisms.

You can easily integrate World ID in your app and smart contract or backend. World ID holders can easily and anonymously verify they are a unique human through a compatible identity wallet, like the World App.

Person using Sign In with Worldcoin

Your app connects to the user's wallet and requests verification
User verifies with a ZKP, using their World ID credentials.

World ID is currently in Beta and some functionality might change. Please help us improve by sharing feedback. Join the waitlist for the SDK here.

How it works

In broad strokes, this is how World ID works.

  1. User gets their World ID in a compatible wallet (e.g. the World App).

  2. User receives credentials in their World ID. The flagship credential is biometric verification, currently available by using the Orb. The user can also verify their phone number to obtain the respective credential.

  3. Project integrates with World ID.

  4. User connects their World ID to authenticate, and optionally prove they are a unique human doing something only once. The user's wallet will generate a ZKP to accomplish this.

  5. Project verifies the ZKP, either by using the API or by verifying it on-chain.

The Protocol

The in-depth technical details of the protocol are coming soon. Including the white paper!

At the core of the World ID Protocol is the use of Semaphore. Semaphore is a zk-SNARK based privacy protocol that allows for the creation of anonymous credential systems developed by the Ethereum Foundation. The World ID Protocol uses Semaphore to create distinct anonymity sets for proof of personhood.

Currently, personhood credentials are handled as separate Sempahore instances. That means that each credential has its own anonymity set, and is only a list of verified credential holders. No other information is attached on-chain related to the credential (e.g. no biometric information is attached for the biometric credential, or no information about a phone number is attached to a phone credential).