The Worldcoin Developer Portal provides tools to interact with the World ID Protocol. Along with IDKit, it's the fastest way to get started with proof of personhood 🚀
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.
All the technical docs for the Worldcoin SDK, World ID Protocol, examples, guides can be found at https://docs.worldcoin.org/
The Developer Portal uses some external services to operate. You do not need all the real credentials to run locally.
- Copy the
.env.test
into a local env file
cd web/
cp .env.test .env
- Edit any environment variables for which you have real credentials.
- AWS access (for KMS) is required to run the Developer Portal locally. KMS is used to sign/encrypt, particularly for Sign in with Worldcoin. You will need to have AWS credentials in your env with relevant permissions to run KMS. Here is an IAM sample policy for this.
- If you are a core contributor with AWS access to TFH, follow the instructions here instead.
The following command will start two containers with the Postgres database, and Hasura server. Additionally, it will run the Next.js app from the /web directory. All Hasura migrations and metadata are automatically applied.
docker compose up --detach
cd web && pnpm dev
If you need to update anything related to the database (model, permissions, events, etc.) the easiest way is with the Hasura console.
- Follow instructions to install the Hasura CLI.
- Launch the Hasura console.
cd hasura hasura console --endpoint http://localhost:8080 --admin-secret secret!
Warning Make sure to only make the changes in the Hasura console (usually
http://localhost:9665
), if you make changes onhttp://localhost:8080
the migrations will not be generated and your changes will be lost.
💡 The admin secret in stored in
docker-compose.yml
file in the root of the repo.