How to Build a KYC Feature with Okra

Onboard your customers faster and cut down on customer churn with Okra Identity. It powers KYC integrations that verify customers within seconds.

How to Build a KYC Feature with Okra

Most online applications are becoming Know Your Customer (KYC) compliant. This KYC procedure is required anywhere money is involved, either by legislation or by the firm itself, to prevent fraud, and enhance trust and safety.
Rather than a physical examination that involves manual processes or an in-person verification, it is vital and cost/time effective to verify the user's or organization's identity online.

When it comes to retrieving and verifying a person's/business's identity, Okra's Identity solution plays a critical role in ensuring KYC processes are easy for African enterprises.

The main reason for KYC is to make the onboarding process go smoothly. However, when you consider the prompts to submit a utility bill, provide your BVN, enter your NIN, and a slew of other details during the onboarding process, it's easy to get frustrated.

This is particularly true in a world where consumers want instant gratification. Hence. the ability to enroll fast is critical! How soon can users download your app, give you access to their details, and become active users? That's a question every business owner, that requires KYC, needs to answer.

KYC Procedures vs. Customer Experience

Conducting effective Know Your Customer/Business (KYC/B) procedures contributes significantly to user satisfaction during onboarding in today's digital world.

When too much personal information is requested upfront, customers may abandon KYC processes. Those who go through may never return to the app if you require users to wait 24 or 48 hours before you confirm their identity. The impact of this is a decline in conversions.

According to a study, easy enrollment is the most important factor for 26% of customers when selecting a digital financial service.

How Okra Makes KYC Easier

With Okra Identity, companies have integrated a KYC/B feature into their apps with ease, giving their users the opportunity to onboard in a matter of seconds.

To see how Okra is changing the digital identity narrative, read more here: “Improving your Digital Identity with Okra”.

This tutorial will show you how to use the Okra Identity API to seamlessly integrate a KYC feature into your app. This tutorial is tailored for engineers. A strong background in Javascript, Node.Js, Postman is needed to get started. If you do not have such background, I highly recommend you pause at this moment and take a deep dive here. Alternatively, you should share this with an engineer on your team.

Now that you know why building a KYC process is important, let’s jump into the main purpose of this article.

To speed up the process, clone this repo; it contains a boilerplate to get you started.

Getting Started

To make this process more manageable, we’ll break it down into steps.

Step1: Signup to get your secret key

To get started with Okra Identity, you need to get registered, afterwards, you can get your secret keys, which we will use later in this article.

Step2: Install dependencies

Install Express, Dotenv, Nodemon, and cors using this command;

npm install express nodemon cors

yarn add express nodemon cors

Step3: Build the KYC controller

Inside the kyc.js file in your controller folder, copy and add the following codes to it.

From Line 1 - Line 2; we imported Axios and qs, Axios will enable us to make HTTP requests, while qs makes it possible to parse our input and have them stringified.

At Line 4 - Line 15; we defined our secret key, which we got from the dashboard, we also added our BVN details as well as our NIN, next we specified both the bvn and nin endpoints which we would call when making the request.

From Line 18 - Line 33; we have a method(bvnCheck), that utilizes axios to make a request, inside the axios object, we specified the URL which is the endpoint the request will be made to, the request type is post and the header contains our secret key and our data. Next, we return the response, and inside the catch block, we send an error, in case an error occurs. The ninCheck method is similar to the bvnCheck method, the variables are what makes them different.

Lastly, we need to specify our route, so that we can make API calls via the postman. Inside route/index.js, override what in with the code below;

The index.js defines our routes, which are /bvn, and /nin. Let's launch postman and test this API.

Testing BVN

Testing NIN

There you have it, using Okra Identity you can easily gain access to your user's permissioned identity information using BVN, NIN, Bank Account Number, or even their RC number as in the case of KYB, hence ensuring a modest onboarding.

You can improve on the codebase, by extracting all your sensitive information inside into a .env file.
You can get the complete source code to this application on Github.

KYC Onboarding Best Practices

In this section, we will discuss certain tips that enhance the process for onboarding users into an app especially in a Fintech app, they include;

Establish Trust ASAP
The first and most crucial piece of advice is also the most straightforward: As soon as possible, establish trust with your user.
Almost all businesses are subject to a slew of regulations and are required to collect data in order to comply with existing legal processes such as KYC (Know Your Customer) and anti-money laundering laws, particularly in Nigeria, all in the hopes of preventing malicious users from abusing their financial services.

However, before customers can register and utilize your services, they must first be convinced that your app and brand are trustworthy. Here are several methods to demonstrate that your app is trustworthy:

Let Them Use it First
Allowing people to access your app without needing to register for an account is one method to do this. You can opt to hide some of the more advanced features behind a registration form, such as "Sign up for an account to make or receive a payment." In other words, show them the benefit of your app before asking them to sign up.

Explain Why You Need Personal Information
Every new user must share personal information with your app as part of the registration process. Increase trust by describing what you'll do with the information, such as why you need their information and how you'll utilize it.

When a consumer first hears about your company and downloads your app, they are hesitant to give up personal information. To spark their curiosity, explain how your app will use this information and how it will substantially improve their app experience, and they will be more willing to provide their information.

Add Safety Precautions
Another method to make consumers feel more comfortable is to implement security measures that demonstrate their data is safe. For instance, lock users out after a certain length of time, even if the app is active, or send alerts to confirm that a transaction was made using the app.

While these safeguards may be invasive or unpleasant in gaming or streaming media applications, they are essential in Fintech apps because they guarantee consumers that their transactions are being monitored and that they will get crucial notifications.

Continue Onboarding Periodically
Keep in mind that onboarding isn't always a one-time event. The more complicated your app's functionality becomes, and the more features you add, the more you need to educate users on what they can do. Onboarding continues to be a part of that continuous education. It's not only the product or feature tour that takes place at the initial launch.

Go beyond KYC
Okra has tons of other services that make building world-class products a reality, our product offering such as spending patterns, Transaction networks, Debit-to-credit-score, guarantors, payments, assets, and liabilities, etc, makes building the impossible a reality.


This article is only the first part of a series on how you can build a KYC app with Okra. If you'd like to get notified when the second part comes up, click on the subscribe button to get an alert.

At Okra, we value feedback, please do share your thoughts on the KYC process in a typical app via LinkedIn, Twitter — I’d love to see what you come up with!

A good place to check other cool stuff is our docs, and if you are passionate about open finance, you definitely should visit our website, to see other services that might be appealing to you.

Contact sales or send an email to to get started!