Use this endpoint to verify World ID 3.0 (Legacy) or World ID 4.0
proofs. Should be used with IDKit 4.0+.
rp_id (rp_xxx) and app_id (app_xxx) as the route parameter.
The result from a successful pollUntilCompletion() response can be forwarded directly - no transformation needed.
During the preview period, users will produce v3 proofs since World ID v4 has not launched yet. The endpoint verifies either format transparently.
Request Body
The protocol version. Must be
"3.0" or "4.0". IDKit sets this
automatically.The nonce used in the RP signature, as returned by IDKit.
The action identifier. Must match the action passed to
IDKit.request().Human-readable description of the action. Used when creating the action for
the first time.
Array of proof response items (at least one). The shape of each item depends
on
protocol_version.Response item fields (protocol 3.0)
Credential type (e.g.
"orb").ABI-encoded zero-knowledge proof (hex string).
Merkle root hash (hex string).
Nullifier hash (hex string, optional
0x prefix).Hash of the signal. Defaults to the keccak256 hash of an empty string.
Maximum age of the Merkle root in seconds. Range: 3600 (1 hour) to 604800 (7
days).
Response item fields (protocol 4.0)
Credential type (e.g.
"orb").Array of exactly 5 hex strings: 4 compressed Groth16 proof elements + Merkle
root.
RP-scoped nullifier (hex string, optional
0x prefix).Credential issuer schema ID.
Minimum credential expiration timestamp (unix seconds).
Hash of the signal. Defaults to
"0x0".Possible Responses
200 OK- At least one proof was successfully verified.400 Bad Request- All proofs failed verification, or the user has already verified for this action.404 Not Found- App not found or no longer active.
Response Examples
- 200 OK
- 400 All Verifications Failed
- 400 Already Verified
- 400 App Not Migrated
- 404 Not Found
Response Fields
Whether at least one proof was verified successfully.
The action identifier (returned on success).
The nullifier from the first successful proof (returned on success). Use this
to track unique users per action.
ISO 8601 timestamp of when the nullifier was recorded.
"production" or "staging". In staging, nullifier reuse is allowed.Per-response verification results. Each entry includes
identifier,
success, and optionally nullifier (on success) or code/detail (on
failure).