Compliance

Option 1. Import User KYC Verification

We support SumSub KYC Applicant Sharing, meaning you can use their service to provide KYC processing of a user and then share their data with Kriptomat. Allowing the user to be KYC approved on Kriptomat.
To do this you will need a SumSub account and our Sumsub client_id. Please refer to
API Reference | Sumsub Developer Hub
for more information about the process.
Generate a share token on SumSub API /resources/accessTokens/-/shareToken?applicantId={applicantId}&forClientId={clientId}
{
"token": "_act-460a698b-d2bc-4cbc-9456-5f36fee38083",
"forClientId": "CoolCoinLtd"
}
Pass the token to us - importing their KYC data into Kriptomat

POST v1/users/{user}/kyc-import

Example here
This will return
{
"status": true
}
You can get User’s verification results via webhook:
When we are talking about verification results we typically mean two labels:
Value
Description
GREEN
Everything is fine
RED
Some violations found
Once verification finished, we will send you a POST request with JSON payload to the URL provided to us while integrating. Oftentimes, there are different URLs for staging and production environments. We may send several types of webhooks, but the one of interest here is the applicantReviewed webhook. This type of webhook is expected to arrive at average after 3-5 minutes, but can take up to 24 hours, in theory.
You can also check the status of the User’s KYC status via GET v1/users/{user}
kyc_status in the response will indicate the status of User’s KYC check
kyc_status
Description
not_started
If ‘not_started’ the user has not undergone KYC and you can start that process by using a 3rd Party
verified
If ‘verified’, you can carry on with the user flow.
failed
If ‘failed’ or ‘declined’ you will not be able to serve that user.
declined
If ‘failed’ or ‘declined’ you will not be able to serve that user.

Option 2. Request KYC verification

You can take advantage of KriptoRamp’s KYC Integration and use it to verify your Users, by requesting request for a KYC check.

POST v1/users/{user_id}/kyc-request

This will return the link for the KYC check.
{
"status": true,
"data": {
"vefificationLink": https://sumsub.io/check-link
}
}
Once you receive the link to the verification check, by accessing it Users can continue with KriptoRamp’s User verification.
You can get User’s verification results via webhook or you can check the status of User’s KYC status via GET v1/users/{user} as explained in Option 1 above

Option 3. Share KYC check

In case you use another KYC provider, you can post gathered User information to KriptoRamp, and request a verification check from KriptoRamp using its KYC provider.

1. Create applicant

Pass collected information about the user:
1POST v1/users/{user_id}/kyc-share
Name
Type
Required
Description
firstName
String
Yes
First name.
lastName
String
Yes
Last name.
middleName
String
No
Middle name.
firstNameEn
String
No
Automatic transliteration of the first name.
lastNameEn
String
No
Automatic transliteration of the last name.
middleNameEn
String
No
Automatic transliteration of the middle name.
legalName
String
No
Legal name.
gender
String
No
Sex of a person (M or F).
dob
String
No
Date of birth (format YYYY-mm-dd, e.g. 2001-09-25).
placeOfBirth
String
Yes
Place of birth.
countryOfBirth
String
Yes
Country of birth.
stateOfBirth
String
No
State of birth.
country
String
Yes
Alpha-3 country code (e.g. DEU or RUS) (Wikipedia).
nationality
String
No
Alpha-3 country code (Wikipedia).
addresses
Array
No
List of addresses.
addresses ELEMENTS FIELDS:
Name
Type
Required
Description
postCode
String
Yes
Postal code.
town
String
Yes
Town or city name.
street
String
Yes
Street name.
subStreet
String
No
Additional street information.
state
String
No
State name if applicable.
buildingName
String
No
Building name if applicable.
flatNumber
String
No
Flat or apartment number.
buildingNumber
String
Yes
Building number.
startDate
String
No
Start date of stay in current building (format YYYY-mm-dd, e.g. 2001-09-25).
endDate
String
No
End date of stay in current building (format YYYY-mm-dd, e.g. 2002-10-26).
response
{
"status": true,
"data": {
"user_id": "5f80e6b7155a6336271e4677",
"email": "[email protected]",
"name": "John",
"surname": "Doe",
"phone": "+381631283023",
"place_of_birth":"City A",
"country_of_birth":"Country B",
"date_of_birth": "1963-09-23",
"address": "Some street 123",
"building_number": "123",
"city": "Frankfurt",
"postal_code": "60306",
"country": "DEU",
"status": "active",
"kyc_status": "initiated",
"IdDocType": {
"PASSPORT",
"DRIVERS",
"ID_CARD"
}
}
}
In the response we will return the collected information from the request and the information about supported documents based in the country parameter value.

2. Upload the documents

POST v1/users/{user_id}/kyc-share/upload-documents
Share the documents with KriptoRamp
FORM DATA
Name
Type
Required
Description
metadata
Object
Yes
An object representing an ID document
content
Binary
No
A photo of a document
REQUEST metadata BODY PART FIELDS
Name
Type
Required
Description
idDocType
String
Yes
See supported document types here
idDocSubType
String
No
FRONT_SIDE, BACK_SIDE or null
country
String
Yes
3-letter country code (Wikipedia)
  • If a document is double-sided submit two images and set up idDocSubType properly (FRONT_SIDE and BACK_SIDE)
  • Make sure to send BACK_SIDE if FRONT_SIDE was already sent otherwise verification step won't be completed, and you won't be able to initiate a check.
Response
{
"status": true,
"data": {
"idDocType": "PASSPORT",
"country": "FRA",
"error":""
}
}
{
"status": false,
"data": {
"idDocType": "PASSPORT",
"country": "FRA",
}
}
KriptoRamp will perform User verification check with its KYC provider based on the information received from you.
You can get User’s verification results via webhook or you can check the status of User’s KYC status via GET v1/users/{user} as explained in Option 1 above.
Copy link
Outline
Option 1. Import User KYC Verification
POST v1/users/{user}/kyc-import
Option 2. Request KYC verification
POST v1/users/{user_id}/kyc-request
Option 3. Share KYC check
1. Create applicant
2. Upload the documents