Skip to main content
Know Your Customer (KYC) is the identity verification process every user must complete before they can hold an account or a card on Reap. Reap supports three verification methods. Whichever you use, the outcome is the same: an APPROVED user, tracked by a single application status, with results delivered to your webhook endpoint.

Verification methods

Managed KYC

Reap runs the verification. You embed a provider SDK in your app, the user completes document and liveness checks, and the outcome arrives by webhook.

Sumsub Token Sharing

Reuse verifications from your own Sumsub account. You share a per-user token, Reap imports the existing verification, and the user is approved without going through KYC on Reap.

Universal KYC

Bring verifications from your own KYC provider. You submit the verified data pack and supporting documents, and Reap reviews them and returns a decision.
Your project uses one of these methods, set when you onboard with Reap based on your agreement. The method is fixed per project, not chosen per user. If you are not sure which one applies to you, check with your account manager.

Application statuses

User KYC is tracked via an application status on the user resource. The application object on a user includes both status and rejectionReason. rejectionReason is populated only when status is REJECTED or RETRY_REQUIRED.
Not every method uses every status. Sumsub Token Sharing skips IN_REVIEW, moving a successful import straight to APPROVED and leaving a failed one at NOT_STARTED. Universal KYC adds AWAITING_DOCUMENTS while you upload the supporting documents, then moves to IN_REVIEW.

Unsupported jurisdictions

Reap cannot onboard users from some jurisdictions due to regulatory restrictions. A user who resides in a restricted jurisdiction cannot be onboarded, regardless of verification method. For the current list of restricted jurisdictions, contact your account manager.

Key principles

  • Reap orchestrates verification. Reap manages provider communication, status tracking, and the application lifecycle. How the verification itself happens depends on your verification method.
  • One application per user. A user has a single KYC application. If verification needs to be retried, you advance that user’s application again.
  • KYC is a gate. A user cannot have an account created or a card issued until their KYC status is APPROVED.
  • Webhooks are the source of truth. Do not poll for status changes. Listen for USER_APPLICATION_STATUS_UPDATED events and update your UI and internal systems from there.