HumanaryHumanary
Find HumanFind OrbFind MiniAppWorld GuideWorld Quiz
Loading...
Home/Guide/Developer Guide
For DevelopersUpdated: January 2025

World ID for Developers: Implementation Guide

Learn how to implement World ID in your application. Detailed explanations for developers, from SDK usage to implementation patterns.

Key Takeaways

  • ✓First step: Register your app on World ID Developer Portal to get app_id and action_name
  • ✓Choose between Cloud verification (server-side) and On-chain verification (smart contract) methods
  • ✓nullifier_hash differs per action, making cross-service user tracking impossible
  • ✓Incognito Actions allow multiple actions by the same user while guaranteeing uniqueness

Table of Contents

  1. 1. World ID Implementation Overview
  2. 2. Implementation Use Cases
  3. 3. Getting Started
  4. 4. SDK Options
  5. 5. Implementation Flow
  6. 6. Best Practices
  7. 7. Resources & Documentation

1. World ID Implementation Overview

By integrating World ID into your app, you can cryptographically guarantee that users are human and have only one account. This enables bot prevention, fraud prevention, and fair distribution.

What World ID Enables

Authentication

  • • Sign in with World ID
  • • Human verification
  • • Uniqueness verification

Use Cases

  • • Airdrop duplicate prevention
  • • Voting systems
  • • Premium feature gating

Verification Levels

🔴

Orb

Iris verified. Highest level of proof of personhood. One per person.

📱

Device

Device verification. Available without Orb. Multiple devices allowed.

2. Implementation Use Cases

🎁

Airdrops

Distribute tokens or NFTs limited to once per person. Prevent Sybil attacks.

🗳️

Voting & Surveys

Fair voting systems guaranteeing one vote per person. Ideal for DAO governance.

🤖

Bot Prevention

CAPTCHA alternative. Provides stronger proof of humanity.

🔐

Auth Gating

Restrict access to features for verified users only.

3. Getting Started

1

Register on Developer Portal

Create an account and register your app on the Worldcoin Developer Portal.

https://developer.worldcoin.org
2

Get Your App ID

When you register your app, a unique App ID is issued. Use this to initialize the SDK.

app_id: "app_staging_xxx..."
3

Define Actions

Define the purpose of verification (Action). This prevents duplicate verification for the same Action.

action: "vote-proposal-1"

4. SDK Options

⚛️

IDKit (JavaScript/React)

Official SDK for web applications. Works with React, Next.js, Vue.js, and more.

npm install @worldcoin/idkit
📱

Mobile SDKs

Native SDKs for iOS and Android. Integrate directly into mobile apps.

SwiftKotlin
🔗

Smart Contract (Solidity)

Library for on-chain verification. Available on Ethereum, Optimism, Polygon, and more.

// Using world-id-starter template
import {IWorldID} from "./interfaces/IWorldID.sol";

5. Implementation Flow

Basic Authentication Flow

1

User clicks "Sign in with World ID" button

2

IDKit displays QR code or deep link

3

User approves verification in World App

4

ZKP (zero-knowledge proof) is returned to app

5

Verify on backend or smart contract

Code Example (React)

import { IDKitWidget } from '@worldcoin/idkit'

function App() {
  const handleVerify = async (proof) => {
    // Send proof to backend for verification
    const res = await fetch('/api/verify', {
      method: 'POST',
      body: JSON.stringify(proof),
    })
    // Handle verification result
  }

  return (
    <IDKitWidget
      app_id="app_xxx"
      action="my-action"
      onSuccess={handleVerify}
      verification_level="orb" // or "device"
    >
      {({ open }) => (
        <button onClick={open}>
          Verify with World ID
        </button>
      )}
    </IDKitWidget>
  )
}

6. Best Practices

✅ Recommended

  • • Always verify on backend - Frontend-only verification is not secure
  • • Design Actions properly - Use different Actions for different purposes
  • • Choose verification_level - Select orb/device based on security requirements
  • • Error handling - Consider UX for verification failures
  • • Test in staging - Thorough testing before production

❌ Anti-Patterns

  • • Completing verification only on frontend
  • • Reusing the same Action for different purposes
  • • Storing and reusing proofs
  • • Exposing internal details in error messages

7. Resources & Documentation

Official Resources

📚

Official Documentation

docs.world.org

💻

Developer Portal

developer.worldcoin.org

🐙

GitHub

github.com/worldcoin

💬

Discord (Developer Community)

discord.gg/worldcoin

Summary

Implementing World ID is relatively easy to start with the SDK.

  • 1️⃣ Register your app on Developer Portal
  • 2️⃣ Install SDK (IDKit, etc.)
  • 3️⃣ Add widget to frontend
  • 4️⃣ Verify proof on backend

See the official documentation for detailed implementation instructions.

Bonus

Get bonus WLD with this invite code

Use this invite code to receive additional WLD.

Get World App
Already have the app? Code:6YQ47NH
How to use invite codes & important notes

Related Articles

Security Technology

Understanding zero-knowledge proofs

Supported Services

Examples of implemented services

Glossary

World ID terminology

Future Outlook

Upcoming technical developments

Back to Guide
Share:

Humanary

A profile service exclusively for those who have completed World's Orb verification

Resources

  • FAQ
  • Orb Map
  • User List

Legal

  • Terms of Service
  • Privacy Policy
  • Operator Information

© 2025 BBBandCompany Inc. · Unofficial · World ID™ is a trademark of TFH