Verification workflow
Overview
This guide explains the complete verification process from submission to approval for both individual (KYC) and business (KYB) customers. The verification workflow combines data validation, document verification, and compliance screening to ensure customer identity and meet regulatory requirements.
Understanding this workflow helps you build better integrations, set appropriate customer expectations, and handle various verification scenarios effectively. The process involves multiple verification providers working in parallel to provide comprehensive identity and compliance checks.
Related guides:
For verification statuses see Customer statuses
For webhook notifications see Webhook integration
For API operations see Customer API
What is verification
Customer verification is the process of confirming identity and compliance requirements before granting access to financial services. This process involves:
Data collection: Gathering customer information and documents
Submission: Sending data to verification providers
Review: Automated and manual verification checks
Decision: Approval, rejection, or request for additional information
Activation: Granting platform access upon approval
Common verification scenarios
Straightforward approval
Flow:
Customer submits complete, valid data
Verification is complete under 10 minutes for KYC
Status:
UNDER_REVIEW→ACTIVE
Developer experience:
Single webhook: status change to
ACTIVETotal time: Under 10 minutes
No additional action required
Request for information (RFI)
Flow:
Customer submits data
Verification identifies issue (e.g., blurry document image)
Status:
UNDER_REVIEW→NEEDS_ADDITIONAL_INFORMATIONCustomer uploads better quality image
System re-submits automatically
Verification is run again → Approves
Status:
NEEDS_ADDITIONAL_INFORMATION→UNDER_REVIEW→ACTIVE
Developer experience:
Multiple webhooks: RFI notification, status changes
Total time: up to under 15 minutes, excluding the time for the customer to provide new information (including RFI resolution)
Action required: Facilitate customer data update
Common RFI reasons:
Document image quality insufficient
Address cannot be verified
Expired documents
Missing beneficial owner information (KYB)
Ownership percentages do not add to 100% (KYB)
Rejection
Flow:
Customer submits data
Provider identifies unresolvable issue
Multiple RFI attempts fail to resolve issue
Manual review: Permanent rejection
Status:
UNDER_REVIEW→NEEDS_ADDITIONAL_INFORMATION→REJECTED
Developer experience:
Final rejection webhook
Customer cannot use platform
Support contact required for appeal or clarification
Common rejection reasons:
Identity documents could not be verified
Sanctions or watchlist match
High-risk jurisdictions
Fraudulent information detected
Compliance policy violations
Monitoring verification progress
Webhooks
Setup: Configure webhook endpoint to receive real-time notifications
Benefits:
Real-time status updates
No polling required
Efficient resource usage
Immediate response to status changes
Learn more: Webhook integration guide
Best practices
For developers
Use webhooks: Real-time notifications are more efficient than polling
Implement idempotency: Handle duplicate webhook deliveries gracefully
Validate data before submission: Reduce RFI likelihood with client-side validation
Set user expectations: Inform users about typical verification timelines
Handle all statuses: Build UI for CREATED, UNDER_REVIEW, RFI, ACTIVE, and REJECTED
Log everything: Maintain audit logs of verification attempts and status changes
Test error paths: Test RFI and rejection flows, not just happy path
For data quality
Document quality matters: High-resolution, clear images reduce RFI rate
Complete data upfront: Provide all required fields to avoid delays
Validate address formats: Use address validation APIs before submission
Double-check beneficial owners: Missing UBOs are the number one KYB RFI cause
Last updated