Docs
  • What We Do
  • Supported Countries, Payment Methods, and Cryptocurrencies
  • Getting Started
  • Integration Guides
    • API
      • Required Headers
      • Create a User
      • Assign a Deposit Address
      • KYC
      • Link and Verify a Bank Account
        • Re-link Bank Account
        • Update Bank Account
        • Delete Bank Account
      • Transaction Limits
      • Buy Crypto (ACH)
      • Transaction Monitoring
      • Transaction History
    • React Native
      • Installation
      • Session Token and Wallet Signing
      • Preset Order Details
      • Example
      • Reference
      • Release History
      • User experience
        • Sign up
        • Sign in
        • Buy crypto
        • Settings & activity
    • React JS (Beta)
      • Installation
      • Session Token and Wallet Signing
      • Preset Orders
      • Callbacks
      • Theming
      • Example
      • Reference
      • Release History
  • API Reference
    • Endpoints
      • Auth
        • Crypto Wallet
        • Email OTP
        • SMS OTP
      • Activity
      • Bank
      • Client
      • Config
      • Crypto
      • Users
      • Wallets
      • Webhook Registrations
    • Custom Headers
    • Error Codes
    • Types Glossary
    • Postman
    • Open API Specification
    • Webhooks
  • Design Reference
    • UI/UX Starter kit
    • UI Requirements
  • Guides
    • Sandbox Testing
    • User Authentication
    • Link a new Signing Wallet to an Existing User
    • Plaid Bank Linking
      • Plaid OAuth Support
    • Client Dashboard (Alpha)
  • User Support Reference
    • User Account Flags
      • KYC Review
      • Transaction Processing
      • NSFs and Returned Payments
      • Fraud
    • Transactional Emails
Powered by GitBook
On this page

Was this helpful?

  1. Integration Guides
  2. API

KYC

PreviousAssign a Deposit AddressNextLink and Verify a Bank Account

Last updated 2 years ago

Was this helpful?

You must before to submitting customer data for KYC approval

Required user data

You must submit the following user data:

  • Date of Birth

  • ID type (SSN)

  • ID Number

  • Address Line 1

  • Address Line 2

  • City

  • State

  • Postal Code

You should not store this information. It should be sent directly to Ratio from your front-end application.

Initiate KYC

KYC results

You have two options to notify the user the outcome of their KYC:

  1. Poll for status:

    • Approved

    • Declined

    • In Review

You should limit the amount of times you poll. Suggested (10 times, every 2 seconds) and retry if needed

There are 3 common reasons why KYC status could = In Review:

  1. The user has mistyped their Date of Birth

  2. The user has recently moved, and therefore the address provided does not match the addresses available from our underlying data providers

  3. The user has created an account using a phone number that is not under their name

If we cannot match any customer-provided information with their SSN you will receive a status of Declined. In most cases, when no customer information can be matched to the provided SSN, this is not a real user. This will not generate an end user support case.

Next steps

After KYC'ing a user, you need to link and verify a bank account, and assign a deposit address, before you can initiate an ACH transfer:

    • If you used wallet as the primary user authentication factor, then we have already set that as the deposit address. You can set additional deposit addresses as needed.

You have two options to notify the user the outcome of their bank verification:

  1. Poll for status:

    • Link status = Active

    • Verification status = Approved

    • If Vefification stauts = Declined stop polling and present error.

Listen for the KYC event "KYC_UPDATED" in our

You are free to complete the remaining tasks in any order, however we recommend (if you haven't already), and then .

Listen for the bank verification event "BANK_UPDATED" in our

webhooks
Assign deposit address
Have a verified bank account
webhooks
assigning the
deposit address first
create the user
linking their bank account