Skip to main content

Verification Overview

Valydar provides a pipeline of checks that can be composed together. Each verification has a status that progresses through the pipeline.

Verification States

pending → completed | failed
StateDescription
pendingVerification created, checks queued or in progress
completedAll checks finished
failedOne or more checks failed

Available Checks

CheckEndpointDescription
Document— (runs on upload)OCR, MRZ extraction, format validation
Barcode— (runs on upload)Barcode detection, AAMVA parsing, MRZ cross-validation
Face Match/verifications/{id}/face-matchCompare selfie to document photo
Liveness— (runs on selfie upload)Passive selfie anti-spoofing (is it a real person?)
Active Liveness/verifications/{id}/active-liveness/*Challenge-response verification (blink, turn head, etc.)
Document Liveness/verifications/{id}/documents/{doc_id}/livenessDocument authenticity (is it real or a copy?)
AML— (runs in background)Sanctions, PEP, and watchlist screening
KYB— (runs in background)Know Your Business — corporate entity verification
Affordability— (runs in background)Disposable income assessment for player protection

Result Structure

Each check returns a result with a boolean pass/fail:

{
"passed": true,
"score": 0.95,
"details": {}
}
FieldTypeDescription
passedbooleanWhether the check passed
scorefloatConfidence score (0.0 to 1.0, if applicable)
detailsobjectCheck-specific data

Results are stored in checks_results keyed by check name (e.g., document, liveness, face_match).