How to build a Rehive KYC extension

This document unpacks the typical KYC extension integration with your chosen partner.

Helghardt Avenant avatar
Written by Helghardt Avenant
Updated over a week ago

Introduction

Rehive consists of three parts: Platform, Extensions, and Applications. We support some extensions out of the box, but it is also possible to build your own custom extensions. This overview assumes that you are using all three parts of Rehive as a base to build from.

We’ll look at the typical integration structure for a KYC partner based on the flow illustrated in Figure 1. We will then highlight which Rehive endpoints to use at each point in the process.

The first place to start is by reading the Building section of the Rehive Developer Docs. This gives a basic overview of how to start building an extension as well as the ground-level endpoints you’ll need to use. It should be noted that for individual users, the authentication endpoint will return personal information as well as the User ID, so in most cases, additional API calls are not necessary.

Expected support

When building the custom extension, it is important to note where Rehive is able to provide support. There are articles relevant to Account Manager expectations in the Rehive Help Centre.

  • The client will need to verify that provider has support for the common endpoints for the integration requirements.

  • The client will need to consider and design the way that data is stored in the extension and linked to users.

  • Rehive does not provide a codebase level review.

  • Rehive will offer a call to go over the flows if the documentation is not sufficient or to identify variances. The KYC partner should include a specialist.

  • Support will be provided on Rehive endpoints not working - Please take note of the guidelines for reporting technical issues.

Required reading

Flow

  1. User submits information via the app. Using the existing wallet front ends, the users are able to submit their KYC information as well as upload supporting documentation.

  2. System triggers webhook to extension.

  3. Extension formats information and submits it to the third-party system.

  4. Third-party system applies KYC checks and returns a status

  5. Extension updates status on Rehive.

  6. Rehive Notification Extension notifies the user of a status update.

Rehive supports statuses on key sets of user information fields. For example, basic information, address, external accounts, documents, etc. The extension can update some or all of the status fields, depending on your requirement. The process will start with setting up webhooks for specific user events that relate to our specific KYC requirements.

KYC fields and endpoints

  1. On user object

    1. Status

      1. This field should be set to verified once all required fields are verified

        1. If the user’s primary information changes, Rehive automatically updates this field to “Pending”.

        2. Note: Please discuss whether additional fields should be excluded.

        3. This field can be ignored completely if wished.

      2. Your custom-built extension should remove verified status if any verified documents expire.

      3. Endpoint: PATCH on /3​/admin​/users​/{identifier}​/ with data `{“status”: “verified”}`

  2. User -> Adresses

    1. Update after the required document category has been set to verified

    2. Endpoint: PATCH on /admin/users/addresses/{id}/ with data `{“status”: “verified”}`

  3. User -> Bank account

    1. Update after the required bank verification has been completed - could include verification of banking document category

    2. Endpoint: PATCH on /admin/users/bank-accounts/{id}/ with data `{“status”: “verified”}`

  4. User -> Documents

    1. Verify documents based on KYC regulations

    2. Document verification could be triggers for updating other statuses on user data

    3. Endpoint: PATCH on /admin/users/documents/{id}/ with data `{“status”: “verified”}`

Notes and guidelines

Rehive recommends using tiers to indicate the KYC level of a user. Tiers can be configured on a group level and can rely on a variety of fields which can be updated using the Rehive API.

Depending on the regional KYC requirements in your chosen industry and the product offered by your KYC partner, the Rehive API can be used to fetch the required data and supporting documentation. Once verified, the applicable fields can be updated on the Rehive Platform.

FAQ

What do I do when Rehive does not support a required KYC field?

  • Tell us, and we can add it.

Did this answer your question?