Skip to content

Latest commit

 

History

142 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Worldcoin Simulator

This is a sample verification app that simulates the behavior of the Worldcoin app to use World ID in the Test network. It works together with World ID's Javascript Integration.

  • Generates Sempahore identity for signing World ID requests.
  • Persistent Sempahore identities can be generated by signing requests with a real ETH wallet (through WalletConnect interaction).
  • Add identity to the tree of verified identities with the identity faucet.
  • Interact with World ID's Javascript Integration to receive verification request, generate ZKP and transfer it back.

Screenshot of Worldcoin Simulator

Screenshot of identity faucet

About World ID

World ID is the privacy-first identity protocol that brings global proof of personhood to the internet. More on World ID in the announcement blog post.

World ID lets you seamlessly integrate authentication into your app that verifies accounts belong to real persons through Sign in with Worldcoin. For additional flexibility and cases where you need extreme privacy, Anonymous Actions lets you verify users in a way that cannot be tracked across verifications.

Follow the Quick Start guide for the easiest way to get started.

📄 Documentation

All the technical docs for the Worldcoin SDK, World ID Protocol, examples, guides can be found at https://docs.worldcoin.org/

🧑‍💻 Development & testing

  • Get an Infura project ID from https://infura.io/ and create an .env file with it (see .env.sample)

  • Install dependencies

    yarn
  • Run app locally

    yarn dev

🔗 Deep-link testing

You can trigger verification directly from the root route with a URL-encoded World ID QR URL:

/?connect_url=<url-encoded-world-id-verify-url>

When valid, the simulator will auto-select an identity and open the existing verification modal flow. Invalid URLs show a toast and are ignored.

MCP for coding agents

The Simulator MCP completes an application's native World ID 4.0 staging Proof of Human request using the existing prover and bridge. Agents call complete_test_request with the application's connector URI, then inspect the application's own backend result.

Deploying the MCP endpoint

  • SIDECAR_URL and the private BEARER_TOKEN are shared with the existing sidecar proxy. Keep the token server-side; it is sent only to the configured proof service.
  • App metadata comes from the Portal selected by NEXT_PUBLIC_DEV_PORTAL_URL. vercel.json pins Vercel builds to https://developer.world.org; register test apps there. Proof requests always use the staging environment.
  • The route allows only the supported World bridge HTTPS origins, blocks redirects, and validates Host/Origin headers against the main domain and Vercel's configured deployment/branch host names. Local hosts are permitted only outside production.
  • Limits: 8 KB request body, 64 KB bridge/prover responses, and a 45-second operation deadline. Configure the hosting runtime to allow the route a 60-second duration.
  • One active request per worker prevents local queues; this is not a deployment-wide rate limit. Reuse the existing ingress and prover capacity controls.
  • Exclude tool arguments and Mcp-Param-connect_url headers from ingress and tracing logs; the connection URL contains an encryption key.

Run the MCP tests with Node 22 and pnpm test.

About

Web simulator of the Worldcoin app to test the World ID protocol on the staging network.

Topics

Resources

Contributing

Security policy

Stars

24 stars

Watchers

29 watching

Forks

Releases

Packages

Used by

Contributors

Languages