KYC Verification
Verification Methods
Coinflow’s Built-In Verification
Verifying US Withdrawers
To verify US users via API, call the Register User endpoint with KycUsRequestBody. This triggers an instant database check using the user’s email, name, address, country, date of birth, and last 4 digits of their SSN.
If instant verification cannot be done, the API returns a 451 with a verificationLink and the withdrawer’s verification status will be pending. Direct the user to that link to complete verification by taking a selfie and entering their full SSN. Once complete, they’ll be redirected to the redirectLink provided in your request.
Verifying Non-US Withdrawers
For non-US users, use the same Register User endpoint with KycDocVRequestBody. This request typically includes only the user’s email and country and always returns a 451 requiring further verification. At this point, the withdrawer’s verification status will be pending.
The verificationLink in the response directs users to upload a photo ID and take a selfie. After successful verification, they’ll be redirected to the redirectLink provided in the request parameters.
Merchants using Coinflow’s prebuilt UI do not need to handle the extra verification steps or redirect. This is already built into Coinflow’s UI.
KYC Reliance
Merchants using their own KYC provider (other than Sumsub) can choose to share verified user data with Coinflow through our KYC attested endpoint. To be eligible for KYC reliance, merchants must first obtain approval from Coinflow’s compliance team. This ensures that your KYC process meets our compliance standards. To being:
- Request the Questionnaire
Contact Coinflow for the KYC Reliance Questionnaire. - Submit for Review
Complete and submit the form. Final compliance approval is required before going live. - Enable KYC Attestation feature in Sandbox
Ask Coinflow to enable KYC attestation for your sandbox and include your sandbox merchant ID. - Integrate the KYC Attested Endpoint
After approval, integrate using the attested endpoint in your production environment.
If you are not approved for KYC reliance, you may choose to fall back on implementing passing external KYC data
Passing External KYC Data to Coinflow
Merchants using their own KYC provider (other than Sumsub) can pass verified user data to Coinflow via the register user via document endpoint. This creates a Coinflow verification record without requiring the user to re-enter information. Required fields to pass include: email, country, Front and back of photo ID.
Coinflow attempts to re-verify the submitted data. If we cannot verify it, the API returns a 451 response, indicating further verification is required. The user’s verification status remains pending until completed.
The response includes a verificationLink, where the user uploads a photo ID and takes a selfie. Upon completion, they are redirected to the redirectLink you provided.
Why a 451 Response May Occur
Not all KYC systems are standardized—different providers collect different fields and follow different rules. Even if your provider marks a user as verified, Coinflow may be unable to do the same. In such cases, we require fallback verification to meet compliance standards.
If you’re using Coinflow’s prebuilt UI (e.g.
CoinflowWithdraw), you must call this endpoint before rendering the component, so the verification record exists in advance.
Sumsub Token Sharing with Coinflow
Merchants who have their own sumsub account can share the sumsub kyc data directly with Coinflow. This would require a tri-party data sharing agreement signed through Sumsub which will allow Coinflow to reuse the withdrawers existing kyc data you’ve already collected. Learn more about reusable KYC and how to get a triparty agreement set up through Sumsub.
To get started with Sumsub token sharing:
- Reach out to the Coinflow team with your sumsub client id
Once this agreement has been signed, follow these steps:
- Call Sumsub’s Generate Share Token endpoint to obtain a token.
- Call Coinflow’s Register User Via Share Token endpoint to pass KYC data.
If you’re using Coinflow’s prebuilt UI (e.g.
CoinflowWithdraw), you must call this endpoint before rendering the component, so the verification record exists in advance.Prior to reaching out to sumsub to sign the tri-party agreement, Merchants will need to reach out to Coinflow to get Coinflow’s sumsub client id.

