How to use KYC Reliance
In this tutorial, we will walk you through building KYC Reliance into an app using Transak’s Whitelabel APIs. By now, the user has selected a quote (using the Look Up APIs) and has been authenticated (using the User APIs). Before they can place an order, Transak needs to verify their identity.
KYC Reliance lets partners skip user identity verification if the user has already completed KYC with a trusted provider on the partner’s end. Transak supports two paths for KYC Reliance.
Two KYC Reliance Paths
Path 1: KYC Reliance using Sumsub
Partner generates a token from Sumsub and passes it to Transak via the KYC Reliance Quote API. Transak fetches the user’s verified identity data directly from Sumsub — the user skips KYC screening entirely.
Check Mandatory Fields
Before generating a share token, confirm the user’s Sumsub record contains all required fields. Transak will reject tokens for incomplete profiles.
Mandatory Fields for KYC Reliance using Sumsub (Full list of required fields, validations, and accepted formats — name, DOB, address, ID document, and liveness.)
Get KYC Reliance Quote
Once the KYC share token is generated, call the Get KYC Reliance Quote API with the kycShareToken and kycShareTokenProvider alongside the standard quote parameters.
This returns a quoteId scoped to the KYC Reliance flow.
cURL
Store the returned quoteId — it is required for the next step.
Get KYC Reliance Status
Call Get KYC Reliance Status with the quoteId and kycShareToken to check whether Transak has successfully imported the user’s KYC data from Sumsub.
cURL
The response contains the KYC import status: IMPORTED, DONE, or FAILED. Route the user based on this value.
Get Requirements
Call Get Requirements to check whether all mandatory fields have been successfully submitted. This step validates the completeness of the user’s KYC data before allowing order creation.
cURL
Inspect the response to determine next steps:
The response lists every missing or invalid field. Use it to decide whether to patch identity data, collect an additional form, or proceed.
Patch Missing Details (if personal or address data is missing)
If the requirements check returned missing personalDetails or addressDetails, call Patch Identity Details to supply only the missing fields. You do not need to re-submit fields that are already accepted.
cURL
After a successful PATCH, call Get Requirements again to confirm the fields are now accepted before proceeding.
Get Additional Requirements (if an additional form is required)
If the requirements check returned additionalFormRequired: true, call Get Additional Requirements to find out exactly what supplementary data Transak needs.
cURL
The response describes what is still needed. Based on this, take the appropriate action:
Fulfill Additional Requirements
Complete the additional requirements identified in Step 8.
9a — Upload a supporting document
Call Upload Document with the document type and base64-encoded image specified in the additional requirements response.
Accepted formats: JPEG, PNG, WEBP — max 5 MB per image.
9b — Submit purpose of usage
Call Submit Purpose of Usage with the user’s selected purpose from the list returned by Get Additional Requirements.
After fulfilling all additional requirements, call Get Requirements one final time to confirm everything is accepted. Once the requirements check returns no missing fields, the user can proceed to order creation.
KYC Reliance APIs
Returns a quote scoped to the KYC Reliance flow. Pass kycShareToken and kycShareTokenProvider alongside standard quote params.
Returns the KYC import status (IMPORTED, DONE, FAILED). Route the user based on this value.
Returns missing or invalid fields. Use this after getting status to confirm completeness before order creation.
Supplies missing personal or address fields without re-submitting already accepted data.
Returns the supplementary data Transak needs when additionalFormRequired is true.
Uploads a supporting document as a base64-encoded image to satisfy an additional document requirement.
Submits the user’s selected purpose when purpose of usage is listed as an additional requirement.
Path 2: KYC Reliance using API
The partner’s backend submits the user’s KYC data directly to Transak via three sequential API calls: Identity Details, Document Details, and Biometrics Details.
This path is provider-agnostic — it works with Sumsub, Onfido, or any KYC vendor your platform uses.
For KYC Reliance using API, Transak requires a compliance review before this feature can be enabled in production.
To implement KYC Reliance using API, follow the steps in this guide.