How to use the KYC constructor

Before you begin to configure a custom KYC (Know Your Customer) procedure, consider the following:

  • the number of verification levels that clients can obtain (you can use the built-in KYC provider or one of the supported third-party KYC providers to run a verification procedure at each level)

  • the permissions that clients are granted after obtaining each verification level, as well as possible limits that can be applied to specific permissions

  • the documents that clients are required to submit for obtaining each verification level

Moreover, it’s possible to configure separate KYC procedures for clients of different types, such as individual and corporate clients. You can also grant different initial verification levels to the clients of different types after they sign up to the B2Core UI (for details, refer to How to add and configure the registration wizard and specifically the article about how to configure the User Registration step).

Follow the steps below to create and set up verification levels, define the documents that clients must submit at each level, as well as configure the way the verification levels and their descriptions are displayed to clients in the B2Core UI.

How to create document groups

At this step, create document groups, for example, “Proof of ID”, “Proof of residence” and so on. Document groups are used to categorize documents required for verification.

To create a document group, do the following:

  1. Navigate to Verification > Document Groups in the menu, and then click +Create in the upper-right corner of the screen.

  2. On the Create document group screen, fill out the form:

  • Set the group Name, which will be displayed only in the Back Office.

  • Set Type to One.

  • Set Caption — the name of the document group in the B2Core UI. Set localizations if needed.

  • Set Description — here, you can provide hints to your clients about the verification procedure. This information can be presented in the HTML format. Set localizations if needed.

  • Set Enabled to Yes.

  1. Click Save to create the document group.

How to create document types

A KYC document is a formal document such as an ID card, a passport, driver’s license or bank statement, which can verify the identity and address of a client. At this step, define documents that clients should provide in order to get verified at each level.

To define a document, do the following:

  1. Navigate to Verification > Document Types in the menu, and then click +Create in the upper-right corner of the screen.

  2. On the Create document type screen, fill out the form:

  • Set the document Name, which will be displayed only in the Back Office.

  • Set Caption to specify the document name to be displayed in the B2Core UI. Set localizations if needed.

  • Set Description — the description can be specified in the HTML format. Set localizations if needed.

  • Set Status to Enabled.

  • Set the document Group — it should be one of the groups created at the previous step.

  • Set Max files to indicate how many documents of this type your client can upload.

  1. Click Save to define the document type.

How to create verification levels

At this step, create the required verification levels. For each B2Core instance, the Level 0 is already set up and is used as the default level.

To create a new verification level, do the following:

  1. Navigate to Verification > Levels in the menu, and then click +Create in the upper-right corner of the screen.

  2. On the Create verification level page, fill out the form:

  • Set the level Index, this value must be greater than 0.

  • Set Wizard — select DocumentsWizard to use the built-in KYC provider and display in the B2Core UI a form for uploading required documents based on the specified document type.

  • Set Caption — the level name to be displayed to clients in the B2Core UI and mobile app. If required, specify the localization properties for this field by clicking the button located on the right side of the field.

  • Set Next Level — select the next verification level that clients can obtain after they are granted the level that you currently configure.

    Leave this field empty to allow clients of different types, such as individual and corporate, to obtain different verification levels.

    The next level that a client is proposed to obtain in the B2Core UI is the level with the next higher index according to the applied client type restrictions (for details, refer to How to restrict the use of verification levels by client types).

  • Set Desktop Description — the level description displayed to clients in the B2Core UI. For a level description, you can list the permissions granted to clients after obtaining this level.

    The description for the B2Core UI can be specified in the HTML format (see Example below). If required, specify the localization properties for this field.

  • Set Mobile Description — the level description displayed to clients in the mobile app.

    The description for the mobile app can be specified in the JSON format. If required, specify the localization properties for this field.

  • Set Visible to Yes.

  • Set Default to No (since the default level is always Level 0).

  • Set Sustainable to No.

  • In the Assigned Client Right dropdown, select a permission level defining a set of permissions that you want to grant to your clients after obtaining this verification level (to learn more, refer to How to create permission levels).

  • Select a client accreditation test in the Passed Tests Needed dropdown if you want to force your clients to pass the selected test before they can submit the documents required to obtain this verification level. The list of available client tests includes all the tests with visibility set to Yes, which are displayed on the Client tests page.

  • Select Document Groups from among those created at Step 1, which specify the documents required for a client to be granted this verification level. Multiple groups can be selected.

  1. Click Save to create the verification level.

Example

The following HTML code example illustrates how to specify a level description for the B2Core UI:

Show example
    <p><strong>Verification Level 0</strong>
    <br/>
    <br/>
    <table class="table table-striped" role="grid">
    <br/>
    <tbody>
    <tr>
    <td style="background-color: #151D24;"><strong>Operations</strong></td>
    <td style="background-color: #151D24;">
    <center><strong>Permissions</strong></center>
    </td>
    </tr>
    <tr>
    <td style="background-color: #3E4E5A;">Crypto Deposits</td>
    <td style="background-color: #3E4E5A;">
    <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
    </td>
    </tr>
    <tr>
    <td style="background-color: #212E38;">Crypto Withdrawals</td>
    <td style="background-color: #212E38;">
    <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
    </td>
    </tr>
    <tr>
    <td style="background-color: #3E4E5A;">Fiat Deposits</td>
    <td style="background-color: #3E4E5A;">
    <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
    </td>
    </tr>
    <tr>
    <td style="background-color: #212E38;">Fiat Withdrawals</td>
    <td style="background-color: #212E38;">
    <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
    </td>
    <tr>
    <td style="background-color: #212E38;">Trading</td>
    <td style="background-color: #212E38;">
    <center><span class="glyphicon glyphicon-error" aria-hidden="true"></span></center>
    </td>
    </tr>
    </tbody>
    </table>
    <p><strong>To obtain Verification Level 1, submit the following documents:</strong></p>
    <ul>
    <li>A list of documents that a client must submit or other requirements that must be met for receiving Level 1.</li>

Note

To mark an operation as enabled for this verification level, change glyphicon glyphicon-error to glyphicon glyphicon-success in the HTML code.

The level description will be displayed in the B2Core UI as follows:

Verification level description

How to restrict the use of verification levels by client types

To configure separate verification procedures, for example for individual clients and corporate clients, indicate the levels that can be obtained only by clients of a specific type.

Apply client type restrictions to a verification level:

  1. Navigate to Verification > Levels.

  2. Select the verification level, and click Edit.

  3. On the Update verification level page, click the Actions button, and select Client type restriction.

  4. In the Restrictions popup, fill in the following fields:

  • In the Enabled dropdown, select Yes.

  • In the Type dropdown, select either of the two options:

    • Allow only — to allow the use of the verification level only for a specific client type.

    • Deny only — to prohibit the use of the verification level for a specific client type.

  • In the Rule dropdown, select the client type to which you want to apply the selected rule.

  1. Click Save to apply the changes.

Example

Suppose that both individual and corporate clients are assigned the default Level 0 after they sign up to the B2Core UI.

After obtaining the default level, individual and corporate clients can follow separate verification procedures:

  • Individual clients: Level 0Level 1Level 2

  • Corporate clients: Level 0Level 3Level 4

This may be useful when you want to use different KYC providers for running verification procedures for individual and corporate clients.

To separate verification procedures, it’s enough to indicate that Level 3 and Level 4 can be obtained only by corporate clients. To do this, apply the Allow only rule to the Corporate type for those levels.

The next level that a client is allowed to obtain is the level with the next higher index according to the applied restrictions by client types.

How to create permission levels

Permission levels are a set of operations that clients are allowed to make in the B2Core UI. The permission levels are associated with verification levels. When clients obtain a particular verification level, they are granted the permissions associated with this verification level.

To create a permission level, do the following:

  1. Navigate to System > Client Rights, and click +Create in the upper-right corner of the page.

  2. In the Create role window that is displayed, fill in the following fields:

  • Name — specify the name of the verification level, which should not include any capital letters.

  • Caption — specify the permission level description.

  1. Click Save to create the permission level.

  2. Click the Edit button located in the permission level row.

  3. In the Parent Role dropdown, select a previous permission level that clients must obtain before they can get this level. This field is not applicable to the default permission level.

  4. Select the permissions that you want to grant to your clients at this level:

  • Verification — if selected, clients are allowed to obtain a higher verification level in the B2Core UI.

  • Converter — if selected, clients can exchange funds in the B2Core UI.

  • Deposits — if selected, clients can deposit funds in the B2Core UI.

  • Withdrawals — if selected, clients can withdraw funds in the B2Core UI.

  • Internal Transfers — if selected, funds can be transferred from one client to another within the same B2Core system.

  1. Click Save to apply the changes.

How to set up deposit, withdrawal and transfer limits by verification levels

For each verification level, you can limit the amounts that clients who are granted this level can deposit, withdraw and transfer.

Note

All limit values are calculated in USD.

To set up limits for a particular level, do the following:

  1. Navigate to Verification > Levels.

  2. Select a verification level for which you want to set up limits, and then click the Edit button located in the level row.

  3. On the Update verification level screen, fill in the fields displayed under the Limits section:

  • To limit the amount that clients can deposit per day, specify the maximum allowed value in the Daily deposit field.

  • To limit the amounts that clients can withdraw per day and per month, specify the maximum allowed values in the Daily withdraw and Monthly withdraw fields.

  • To set the minimum amount that clients can transfer, specify the Transfer min. field. It is not allowed to transfer amounts that are less than the assigned limit.

  • To allow clients to withdraw certain amounts without obtaining approvals, specify the maximum allowed amount in the Auto withdraw field. The amounts that do not exceed the assigned limit can be withdrawn by clients automatically (without the admin approval).

  • To set the maximum allowed amount for internal transfer operations per day, specify the Daily internal transfer field. If a client wants to make an internal transfer after reaching a specified limit, a request for the internal transfer is created and must be approved by an admin.

Note

If a client makes an internal transfer to or from an MT account, the MT platform settings override the Daily internal transfer option.

If the Request required for transfer from and Request required for transfer to options are enabled for the MT platform, the Daily internal transfer option is ignored, and requests for internal transfers are always created and must be approved by an admin.

To apply no limits, enter -1 in the corresponding field described above. To prohibit clients from making a specific transaction, enter 0 in the corresponding field described above.

  1. Click Save to apply the changes.