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.

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.

Last updated