First-time user
When a user opens the widget for the first time, the widget detects that no KYC profile exists and guides them through:- Document upload — passport, national ID, or driver’s licence.
- Liveness check — a short selfie via camera. Camera permission must be granted (see Mobile).
Returning user
KYC status is remembered across sessions. A verified user skips directly to payment.Check KYC status
You can check a user’s KYC status at any time, for example to show a relevant message in your UI before opening the widget.KYC Statuses
| Status | Meaning |
|---|---|
not_started | User has never opened the widget or has not submitted KYC |
pending | KYC submitted, under review |
verified | KYC passed — user can transact |
failed | Verification failed — user must retry inside the widget |
Handling kyc_required errors
If you request a session for a user who cannot transact yet, the API returns 422 kyc_required:
kyc-status first and show a custom message like “Verify your identity before buying crypto” with a button that opens the widget.