Skip to main content

Introduction

World ID is a way to anonymously verify someone is an actual human when performing an action, and that they have performed the action only once (without revealing anything about themselves). This happens through Zero-knowledge proofs.

You can easily integrate World ID into your app and smart contract or backend. End user can easily and anonymously verify they are a unique human through the Worldcoin app.

Example of World ID in a dapp
Render of World ID widgetRender of World ID widgetRender of World ID widget
The lightweight JS widget is added to your dapp.JS widget handles connection to Worldcoin app and provides instructions to the user.User verifies they are a unique human with a ZKP.
FYI

World ID is currently in Beta and some functionality might change. Please help us improve by sharing feedback on your experience and any ideas for how to improve.

How it works

In broad strokes, this is how World ID works.

Render of World ID widget
  1. End user verifies themself at a Worldcoin orb (read more). User proves they are a unique human without requiring to store any PII (more on Privacy).

  2. Project integrates with World ID.

  3. Whenever performing a specific action, user proves they are a unique human by submitting a Zero-knowledge proof from the Worldcoin app.

  4. Project validates the Zero-knowledge proof and executes the action (e.g. token airdrop, NFT minting, account creation, ...).

Read more about how World ID works in the Protocol section.

Use cases

World ID prevents sybil attacks both on-chain and off-chain. Some use cases:

  • Receiving airdrops. Reward early users of your project without abuse from bots, users creating multiple accounts, etc. For example, democratic airdrops like Worldcoin.
  • Democratic voting. Ensure one person equals one vote; e.g. governance, proposal voting, etc.
  • Quadratic funding. Funding where the number of contributors matter more than the sheer number of dollars provided (to democratize the process). Ensure a single person only funds a project once. An example of quadratic funding is Gitcoin.
  • Person-bound NFTs. Enables the possibility of blockchain-based records (e.g. university degrees, vaccination records, citizenship confirmation, ...). Without World ID you could transfer those NFTs to a third party which would make the records useless.
note

Spot an error in these docs? Our docs are open source too and contributions are welcome. Open a PR on GitHub.