Merchant Onboarding and Risk Platform for a Nigerian Payment Gateway
Designed and built a clickable merchant onboarding and KYB console for a CBN-licensed payment gateway in Lagos: an applications queue, a case review that checks CAC, BVN, NIN, liveness and the settlement account name in one place, an underwriting workbench with an explainable risk score, limits and rolling reserves, and four-eyes approvals bound to each approver's mandate.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, applications queue, KYB case review, underwriting workbench and four-eyes approvals. Every one of the 24 demo applications opens its own case and its own workbench.
CAC match, TIN, BVN, NIN and selfie liveness for each director or owner, settlement name match, sanctions and PEP, MATCH list, website review and documents. Each shows pass, refer, fail or pending and the provider that ran it.
Analysts approve alone up to NGN 10m a month at Low risk and underwriters up to NGN 20m at Medium. Anything above goes to a second approver, who can never be the person who prepared the case.
Merchants across 12 Nigerian states and all 4 business types, 9 underwriting decisions, 23 MCC category policies, 3 limit tiers and 8 staff users with their mandates.
Lagoon Crest's onboarding team verified merchants through a Google Form, WhatsApp chats and three separate verification dashboards, typing RC numbers into one portal and BVNs into another. Name mismatches between the CAC record, the director's BVN and the settlement account were caught late or not at all, two merchants selling prohibited products went live in one quarter and drew a card scheme warning, legitimate merchants waited 8 to 14 days for live keys, and nobody could show an auditor who approved a merchant's monthly limit or why.
Gantry takes a merchant from submitted application to an approved risk decision. Analysts work one queue, review the business, its people and its settlement account against every check in one case, and send higher-risk merchants to underwriting, where the risk score, limits, rolling reserve and settlement delay are set and routed to a second approver whenever they exceed the preparer's mandate.
A CBN-licensed payment gateway answers for the merchants it signs and the payments it processes. Every application has to satisfy Nigerian AML law, the CAC register, the national identity systems and the card schemes at the same time, and the evidence differs for a company, a business name, a church or a sole trader.
The CAC record, each director's BVN and NIN, and the name NIBSS returns for the settlement account rarely match letter for letter. Settlement may only go to an account in the merchant's legal name, so every difference has to be found, scored and explained before go-live.
The Money Laundering (Prevention and Prohibition) Act 2022 and the CBN's AML/CFT/CPF Regulations require due diligence on the business, identified beneficial owners, enhanced checks for PEPs and sanctions screening. Gantry verifies every owner at 5% or more and flags anyone at 25% or more as a controlling owner.
Visa and Mastercard expect an accurate merchant category code, prohibited businesses blocked, high-risk categories registered, a MATCH list check and a website review. Each MCC needs a clear policy: allowed, restricted with extra approval, or prohibited.
Following the CBN's tiered KYC approach, limits should grow with the evidence a merchant provides, and higher-risk merchants need reserves and slower settlement. Every approval has to record who decided, under what mandate, and the score and evidence at that moment.
Mapped 8 user roles, from onboarding analyst and risk underwriter to the MLRO and the merchant's own directors, and 36 screens across the staff console, merchant portal and by-link identity checks. Defined the data model for businesses, people, checks, settlement accounts, screening hits, versioned risk factors, category policies, limit tiers, underwriting decisions and approval rules, and wrote down the rules it follows: CBN licensing, MLPPA 2022, CAMA 2020 registration numbers, BVN and NIN, NIBSS name enquiry, tiered KYC, card scheme rules and the NDPA 2023.
Built 5 key screens on a production dashboard kit: the dashboard with KPIs, pipeline by status and work by role, the applications queue with 7 filters and bulk actions, the KYB case review with progress rail, checks, name comparisons and 7 tabs, the underwriting workbench with risk factors, hard stops, an exposure calculator and the decision panel, and the four-eyes approvals screen. A View as menu switches between underwriter, analyst, risk lead and MLRO. Everything runs on mock data with no backend.
CAC, BVN, NIN, liveness and TIN checks through providers such as Smile ID, Dojah, Prembly or Youverify, NIBSS name enquiry through the sponsor bank, sanctions and PEP screening including the Nigeria Sanctions List, Mastercard MATCH and Visa VMSS through the acquirer, website monitoring, e-signature for the merchant agreement and STR references from the NFIU goAML portal. Plus the merchant portal, the remaining console screens such as monitoring and offboarding, staff auth with mandates enforced on the server, and an audit log kept at least five years after a relationship ends.
The case review lines up the CAC name, each director's BVN and NIN name and the name returned for the settlement account, with a similarity score and a pass or refer, so a 91% close match is a decision the analyst makes on screen rather than a detail found after go-live.
The score is built from named factors with their points, such as a restricted MCC, a business registered 4 months ago or delivery after 10 days, using a model version fixed at submission. Bands run Low 0-34, Medium 35-64 and High 65+, and hard stops for a MATCH hit, a confirmed sanctions match or a prohibited MCC sit apart from the score.
The workbench proposes tier, single, daily and monthly limits, reserve, settlement delay and next review date from the limit tiers, band defaults and category policy, such as a 10% reserve for 120 days on MCC 5967. Changing the suggested limits needs a reason before the decision can be recorded.
Approve is only available when every check passes and the case sits within the user's mandate. Otherwise the action becomes Submit for second approval, and the approvals screen only offers a case to people whose mandate covers it and who did not prepare it. BVN, NIN and account numbers stay masked, and revealing one needs a logged reason.

Designed and built a clickable reconciliation engine for a Lyon-based marketplace group paid through Adyen, Stripe, PayPal and SEPA: it matches orders to PSP transactions, payouts and bank statement lines, explains every suggestion, turns what is left into a worked exceptions queue and traces each match to the journal entries it posts.

Designed and built a clickable ops console for a Manila remittance company paying out PHP to the families of overseas Filipino workers: a live view of today's flows across 4 corridors, a transfers monitor with SLA timers, a full transfer record, compliance holds with a tipping-off check, and FX margins priced per corridor, payout method and amount band.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab