KYC requirements

Most flows require validating a user’s Know Your Customer (KYC) level before creating an order. The high-level steps are:

  1. Call Get user KYC state with a user’s email and a country.

  2. Inspect the returned kycRules to see which KYC tier (basic, advanced, etc.) is required for the intended deposit or payout amounts and currency types.

  3. If the user hasn’t already passed the needed tier (passedKycType), prompt them for the document listed in kycDocuments and gather the associated requiredFields.

  4. Submit the collected data via Submit user KYC. Continue polling Get user KYC state until currentKycStatus becomes approved.

Tip: The sample data below shows that payouts ≥ 100 USD in crypto require advanced KYC. Your environment will return thresholds appropriate for the country, currency, and operation type.

Sample Get user KYC state response

The "advanced" KYC document requires images. Submit them as an array of objects with image_type_id and image URL. Image URLs must be publicly accessible or contain the image data as a base64-encoded string. The "image_type_id" can accept the following values:

  • 0: Selfie

  • 1: Document front

  • 5: Document back

Sample Submit user KYC request

Once the user’s KYC status is approved at or above the required tier, proceed with quoting and order creation.

Last updated