KYC & Compliance
Know Your Customer (KYC) procedures are required by law for financial institutions operating under AML/CFT regulations. Mercuryo handles KYC verification on its side — you choose how deeply to integrate it.
SumSub is Mercuryo's primary KYC provider.
When KYC Is Required
KYC verification is mandatory for:
- All Off-Ramp (sell) operations.
- On-Ramp (buy) operations when:
- The transaction amount exceeds the KYC threshold.
- The user's country requires mandatory KYC.
- The specific payment method requires KYC.
KYC Requirements by Feature and Country
| Feature | Country / Region | Required Documents |
|---|---|---|
crypto |
EU + EEA | ID card / passport / residence permit / driving licence + questionnaire + selfie |
crypto |
EU + EEA, and non-EU countries | ID card / passport / residence permit / driving licence + selfie |
crypto |
US | ID card / passport / residence permit / driving licence + SSN + selfie |
crypto |
RU (IP outside EEA) | Passport / driving licence + proof of address + selfie |
crypto |
RU (IP within EEA) | Passport / driving licence + residence permit + selfie |
crypto |
BR (DOC_FREE + selfie scenario) | CPF + selfie |
crypto |
BR (when DOC_FREE failed) | ID card / passport / residence permit / driving licence + selfie |
card + crypto |
EU | ID card / passport + proof of address + selfie — required for Spend Card issuance |
ssn |
US | Proof of address (as data) + TIN |
Available features:
crypto— enables all crypto buy/sell operations.card— enables Spend Card issuance and usage. Required in addition tocryptofor users in EU who want to issue a Spend Card.ssn— simplified US flow using SSN; up to a transaction limit without documents. Full KYC (crypto) is required after the limit.
Identity Document Requirements
The document must contain:
- Full name
- MRZ code
- Citizenship
- Date of birth
- Document number
- Issuing authority
- Date of issue
The document must:
- Be unexpired
- Be scanned or photographed clearly
- Show all corners and sides
- Have all information legible
Proof of Address
We do not accept bank statements from neobanks.
Integration Options
Option 1 — Standard In-Widget KYC
If you don't implement any KYC on your side, Mercuryo provides the SumSub interface directly in the widget. Users complete identity verification and a liveness test without leaving the widget.
No additional integration required. This is the default.
Option 2 — SumSub Share Token
If you already use SumSub for KYC on your platform, you can share verified users with Mercuryo. Users won't need to verify twice.
Note: This option requires approval from Mercuryo's Customer Success and Compliance teams, as SumSub charges for this service. Discuss it with your Mercuryo manager before proceeding.
Whitelisting prerequisite:
- Conclude a contract with SumSub for the Reusable KYC feature.
- Request a partner token from your Mercuryo integration manager.
- In your SumSub account: Partners → Recipients → Add Recipient → enter the partner token.
- Ask your Mercuryo manager to verify the setup.
Processing rules:
- The applicant must have completed ID document + liveness (selfie) verification with approved status on your side.
- The share token flow is triggered by email match between your SumSub applicant and the Mercuryo user.
- Mercuryo can accept a share token only once per applicant (SumSub architecture limitation).
- Field sets may differ between systems — only document type and country are used for matching.
Steps:
- Generate
share_tokenusing the SumSub API:Required parameters:POST https://api.sumsub.com/resources/accessTokens/-/shareTokenapplicantId,forClientId=Mercuryo - Pass the generated value as
share_tokenin the widget URL or in thesign-uprequest body.
See Authentication for how to pass share_token during sign-up.
How it works — video | SumSub sharing docs
Option 3 — Submit Documents via API
Manually send user documents to Mercuryo via API. Users still need to complete the liveness check in the widget.
Requires API-based Authentication.
Steps:
-
Call
GET /v1.6/sdk-partner/user/kyc-statusto check if KYC is already complete.- If
features[].status == "complete"for the needed feature — no action needed.
- If
-
Call
POST /v1.6/sdk-partner/kyc/docsto upload documents.- Include: ID card, driving licence, passport, residence permit, proof of address (see API Reference for file naming conventions),
feature, and country code. - The response contains
kyc_access_token— use it asshare_token.
- Include: ID card, driving licence, passport, residence permit, proof of address (see API Reference for file naming conventions),
-
Authenticate the user: call
POST /v1.6/sdk-partner/loginto getinit_tokenandinit_token_type. -
Redirect the user to the widget with all tokens:
https://exchange.mercuryo.io/?widget_id=YOUR_WIDGET_ID &init_token_type=sdk_partner_authorization &init_token=0a25dd714163a9006 &share_token=YOUR_KYC_ACCESS_TOKEN -
The user completes any remaining documents and the liveness check in the widget.
-
Poll
GET /v1.6/sdk-partner/user/kyc-statusfor the result:Status Description completeKYC successfully completed incompleteSumSub has not started verification yet failed_attemptFirst attempt failed — user can retry failedVerification failed — contact Mercuryo Support under_reviewSumSub is reviewing the submitted documents -
Once
complete, redirect the user to the widget to proceed with the transaction.
KYC for Spend Card
Issuing a Spend Card requires the card KYC feature in addition to crypto. For EU users, this means providing an ID card or passport, proof of address, and a selfie (card + crypto row in the table above).
The required documents vary by the user's country of citizenship — see the full list of eligible countries.
See Spend Card for full integration details.