Skip to main content
Vouchmark Onboarding lets you embed a full KYB verification flow into your own product. Your applicants complete the checks inside a hosted widget — you get a risk score and decision delivered via webhook.

How it works

1

Configure a widget

Pick which verification modules to run, set branding, configure risk thresholds, and define the flow order. Use a pre-built template (Fintech, Marketplace, Crypto, Lending) or start from scratch.
2

Integrate the SDK

Add the widget to your frontend with a single script tag or React/Flutter/RN component. See SDKs.
3

Applicant completes the flow

The widget guides the applicant through each module — collecting data, running live verifications, and uploading documents. Progress is saved automatically.
4

Risk engine decides

Once all modules complete, the risk engine computes a score. Based on your thresholds, the applicant is auto-approved, auto-rejected, or flagged for manual review.
5

You act on the decision

Read the applicant’s final statusapproved, rejected, or requires_review — via GET /v1/kyb/applicants/:applicantId, and update your system accordingly. You can also register a kyc_widget webhook endpoint for this app (see Webhooks).

Key concepts

Widgets

A widget is a named, versioned configuration for an onboarding flow. You can have multiple widgets — one for each use case (e.g. seller onboarding, lending KYB, exchange compliance).

Modules

Modules are the individual verification checks within a widget. Each module has:
  • An enabled flag (include in the flow or not)
  • A required flag (applicant cannot skip)
  • A cost (deducted from your wallet per execution)
See Pricing for per-module costs.

Applicants

An applicant is a single entity going through your widget. Each applicant session has:
  • A status lifecycle: createdin_progresssubmittedapproved/rejected/requires_review
  • A risk score (0–100)
  • A total cost (sum of all modules executed)

Risk tiers

TierBehaviour
LowFewer modules, higher auto-approve threshold. Fast track for known-low-risk applicants.
StandardBalanced module set. Default for most use cases.
EnhancedFull due diligence including UBOs, adverse media, and operational proof.

Templates

Pre-configured starting points:
TemplateModules includedTypical use case
FintechCAC, TIN, Bank, Directors KYC, AML, Sanctions, PEPPayment platforms, lending
MarketplaceBusiness profile, CAC, Bank, Address, SanctionsSeller onboarding
Crypto ExchangeAll modulesRegulated exchanges
LendingCAC, TIN, Bank, Operational proof, Directors KYC, AMLCredit providers
Payment ProcessorCAC, TIN, Bank, AML, Sanctions, PEPPSPs and aggregators

Security

  • Domain allowlisting — the widget only renders on approved origins.
  • Signed requests — optionally require your server to generate a signed session token before the widget opens.
  • IP allowlisting — restrict API-initiated sessions to specific IPs.
  • Session timeout — configurable inactivity timeout (default 60 minutes).

Where to go next

SDK integration

Install the widget in your frontend.

Widget API

Manage widgets programmatically.