What you can request with IDKit
You can also add a liveness check to any preset with
require_user_presence.
If you have an existing legacy integration, see the World ID 4.0 migration guide.
SDK presets
Preset helpers cover common credential requests:proofOfHuman, passport, selfieCheckLegacy, identityCheck, and the legacy presets.
The snippets below assume rp_context was already generated and signed by your backend. See Integrate IDKit for the full RP-signing flow.
Proof of Human
UseproofOfHuman for the current World ID 4.0 Proof of Human credential. The preset also includes legacy Orb fallback for users without a World ID 4.0 proof.
Passport
Usepassport for the current World ID 4.0 Passport credential. The preset also includes legacy Document fallback for users without a World ID 4.0 proof.
Selfie Check
Use theselfieCheckLegacy preset to request Selfie Check. Anyone with World App can
complete the flow: no Orb, passport, document, or other prerequisite credential
is required.
To test your integration end-to-end, see Testing Selfie Check in Sandbox.
“Legacy” refers to the proof protocol, not the Selfie Check product. This
preset returns World ID 3.0 proofs and requires
allow_legacy_proofs=true.
Selfie Check with World ID 4.0 is not available yet.identifier: "selfie" for Selfie Check. Legacy integrations may
still use face; verification services accept it as a backward-compatible
alias. Applications should not translate the identifier or construct a
verification_level. Forward the complete IDKit result to the
verification endpoint.
Identity Check (Preview)
Identity Check is currently in preview. To use it or learn more, contact us.
identity_attested so your backend can tell whether the requested attributes matched.
User presence and liveness
To check for user presence and liveness, add therequire_user_presence flag to your request. This is a request-level flag, not a credential; it asks World ID for a fresh liveness check before returning the proof and fails with user_presence_failed if the check does not complete.
Depending on the credential requested, World ID matches the user’s live selfie to the credential image, such as the passport photo or the image captured during Orb verification.
Other legacy presets
These presets only return World ID 3.0 proofs. Use them for existing integrations or when you need the older verification level.| Preset | What it requests |
|---|---|
orbLegacy | Orb verification. |
secureDocumentLegacy | At least a Secure Document verification. Returns the user’s highest legacy credential: Secure Document or Orb. |
documentLegacy | At least a Document verification. Returns the user’s highest legacy credential: Document, Secure Document, or Orb. |
deviceLegacy | At least a Device verification. Returns the user’s highest legacy credential: Device, Document, Secure Document, or Orb. |
Common parameters
| Parameter | Where it is used | Description |
|---|---|---|
signal | Presets | Binds app context into the proof, such as a user ID or wallet address. Your backend should enforce the same value. |
allow_legacy_proofs | Request config and widgets | Required for request flows. Set to true while accepting World ID 3.0 fallback proofs; set to false for World ID 4.0-only requests. |
require_user_presence | Request config and widgets | Optional liveness step. Defaults to false. |