Verify & Enroll User

Once a ZeroKYC session is complete, use the Verisoul API to complete the workflow.

There are two core use cases for ZeroKYC:

  1. Uniqueness (1-N): verify a face is unique and has not been previously enrolled with another account (prevent multi-accounting)

  2. Authentication (1-1): match a face session to an already enrolled account to ensure it is the same user (prevent account takeovers)

*Note: both uniqueness and authentication will validate that the user is a real human



When you want to check whether a user is unique:

  1. Verify Uniqueness

    1. Call the /verify-uniqueness endpoint

    2. Parse matches. If the user has zero matches, then the face is not already enrolled to another account

  2. Enroll face and tie to an account

    1. If the user has zero matches and is unique, use the /enroll endpoint to link that face to the new account

    2. If the person already has an existing account, you can:

      1. Choose to not enroll the user (our recommended approach)

      2. Choose to enroll the user, but then block them (or take other action)

How customers use Uniqueness in their Apps

  • One-person one-account sign-ups

  • Before a transaction or withdrawal

  • As a step up verification if Verisoul Platform determines user is Fake or Suspicious or has high probability of multi-accounting



When you want to use ZeroKYC for auth:

  1. Enroll Account

    1. When a new account signs up, include the ZeroKYC as part of the sign up workflow

    2. Call /enroll with the sign up session_id and new account identifier

  2. Verify Identity

    1. When the account signs in (or when you want to verify user identity), make the user go through ZeroKYC again

    2. Call /verify-identity endpoint with new session to ensure the same user that was enrolled is accessing the account

Use Cases

  • At sign-in

  • Prior to large transactions

  • Prior to withdrawals

Last updated