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.
|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.|
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.
Project integrates with World ID.
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.
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.
Spot an error in these docs? Our docs are open source too and contributions are welcome. Open a PR on GitHub.