Skip to main content
Create a verification session for individual (KYC) or business (KYB) verification. Returns a session ID, redirect URL, and QR code.
This endpoint requires your API key and must only be called from your backend server. Never expose your API key in frontend code.

Request

cURL

Request (with wallet constraint)

cURL

Response

Endpoints

Query Parameters

integer
default:"300"
QR code size in pixels. Must be between 80 and 2000.

Request Body (Optional)

string
Wallet address that must be used for this session.
string
Absolute https:// URL the user can return to after the verification flow (including while a manual review is pending).
Wallet Constraint: When you include walletAddress in the request:
  • The user can only connect and verify with that specific wallet address
  • If a session (pending, retry, or completed) already exists for that wallet with the same verification type, the existing session is returned (session reuse)
  • Sessions are only reused within the same check type (KYC sessions for /register/individual, KYB for /register/business)
  • Useful for pre-registering known wallet addresses or enforcing wallet constraints
Origin URL: When you include originUrl in the request:
  • The verification screens show the user a button back to that destination once they finish (and while a manual review is pending, with a note that they are not yet authorized)
  • It must be an absolute https:// URL
  • It is named originUrl, distinct from the response redirectUrl (the hosted verification link), so the value you send in is not confused with the value you get back
  • A value sent on a reused session updates the stored one

HTTP Status Codes

Response Fields

string
required
Unique session identifier (UUID)
string
required
URL where the user completes verification
string
required
Base64-encoded PNG QR code with data URI prefix

Authentication