Zynk
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
  1. Customers & Identity
  • Transformer - Cross Border Transfer
    • Overview
    • Customers & Identity
      • Entities/Customers
      • About KYC/KYB
      • RFI Scenarios for Customers
      • Identity Rejection Reasons
    • Accounts & Wallets
      • External Accounts(To be deprecated soon)
      • Fetch Requirements for External Accounts V2
      • External Accounts V2
      • Funding Accounts
      • About Plaid Integration
    • Transfers
      • Counterparty Risk details
      • Addition transfer requirements
      • Transfer in Action
      • Limits and Minimums
      • Fee details
    • Miscellaneous
      • Bank Codes
      • Supported chains and currencies
      • Partner payments signature generation
      • Reserves requirements
      • Partner Payments
      • Status updates - Webhooks
  • Transporter - Automated Liquidity Manager
    • Overview
    • Visibility Protocol
    • Instant liquidity process - How it works
    • Status updates - Webhooks
  • Teleport - Pay-In Accounts
    • Overview
    • About Teleport routes
  • Warp - Pay-Outs
    • Overview
  • Continuum - Wallet Infrastructure
    • Overview
    • Authentication
    • Continuum APIs
    • Transactions on Continuum
    • Details on generating signatures
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
  1. Customers & Identity

About KYC/KYB

Overview#

Once a customer is registered using Create Entity, partners have to enable the process for KYC/KYB of the customer.
The KYC process includes, but may not be limited to, the following:
Government issued identification
Selfie check that must match photo ID on government identification
Database Verification (validates PII against voter, telco, utility or credit databases)
AML Screening, including PEP / HIO report, Watchlist / Sanctions report, Adverse Media Report
Businesses, will go through a KYB process to verify their identity, and each beneficial owner will need to KYC.
The KYB process includes, but may not be limited to, the following:
Name of Business and Doing Busines As (DBA)
EIN Number
Address
Phone Number
Website
Database Verification
Validates name, EIN, address
KYC of Beneficial owners with 25% or more of the business
All beneficial owners subject to standard KYC checks
AML screening of business
Watchlist / sanctions report
Adverse Media Report

Zynklabs provides flexibility to do KYC/KYB either by taking documents of the customer or providing a link to the customer to submit documents by themselves.
The process is dependent on the jurisdiction in which registration will be done.
AED
USD
EUR
INR
ARS
BRL
MXN
PHP
IDR
Strictly using Sumsub link only
Sumsub token sharing not allowed

The overall process is as follows:
1
Check KYC/KYB status of created Entity
2
Make KYC/KYB payment for the applicable jurisdictions
3
Get KYC/KYB requirements
4
Submit KYC/KYB

1. Check KYC/KYB status of created Entity#

For the entity created first get the list of routing ids from the endpoint KYC status. This will give the jurisdictions which Zynk has enabled for partner’s customers. Remember that Zynk treats its entities as global scope so one entity can work across multiple jurisdictions as long as they get KYCed separately for each jurisdiction.
{
  "success": true,
  "data": {
    "message": "KYC status retrieved successfully",
    "status": 
        [
      {
        "routingId": "provider123",
        "supportedRoutes": [
          {
            "from": {
              "jurisdictionId": "US",
              "jurisdictionName": "United States",
              "jurisdictionType": "country",
              "currency": "USD"
            },
            "to": {
              "jurisdictionId": "UK",
              "jurisdictionName": "United Kingdom",
              "jurisdictionType": "country",
              "currency": "GBP"
            }
          }
        ],
        "kycStatus": "approved",
        "routingEnabled": true,
        "kycFees": {
          "network": "Solana Mainnet (Chain ID: 101)",
          "currency": "USDC",
          "tokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "amount": 25,
          "toWalletAddress": "5FHgW3kXmAS2r6pNzV5C8JNz3xZyeZaJgHSzBGta3sVu",
          "paymentReceived": true
        }
      }
    ]
  }
}
KYC/KYB Status Values
StatusDescription
not_startedThe KYC process has not been initiated for this entity and routing provider
initiatedThe KYC process has been started but not yet completed
reviewingKYC information has been submitted and is under review
additional_info_requiredAdditional information is required to complete the KYC process
rejectedThe KYC verification has been rejected
approvedThe KYC verification has been approved

2. Make KYC/KYB payment#

Zynk collects KYC/KYB fee upfront for every registration in each jurisdiction. Partners will have to submit KYC/KYB fees before initiating a KYC/B after checking status.
Zynk offers two ways to make KYC/KYB payments.
Direct or Pooled
If status is not_started and paymentReceived is false:
Direct Payment
Send the specified amount to the toWalletAddress using the instructions in kycFees.
Prepaid Payment
Use your prepaid balance instead (fees will be automatically deducted during submission).
More details here
KYC/KYB payments will only and always be processed on the Solana Network, using either USDC or USDT tokens.
Sandbox Environment: Solana Devnet (Chain ID: 103)
Production Environment: Solana Mainnet (Chain ID: 101)

3. Get KYC/KYB Requirements#

Zynk serves the KYC/KYB Requirements in a dynamic fashion based on the jurisdiction and KYC/KYB type i.e doucments or link
When you request requirements using the Requirements API you get an object which can be used to construct a payload for submitting KYC/KYB in the submit step. Please go through the API endpoint page to understand the object structure in detail.

4. Submit KYC/KYB data#

Include all required fields and the transaction hash(only for Direct payment method . Check the Submit KYC/KYB for more detailed information on submission requirements.
In certain cases of link based KYC/KYB the response of this API will give the link which your customers need to access to submit their documents and other information.
Usage Notes
Once paymentReceived is true, you don't need to make another payment for that entity and routing provider
If status becomes additional_info_required, fetch updated requirements and submit only the requested additional information. More details here
The KYC/KYB process may involve multiple rounds of review. Always check for supported routes to ensure the entity can transact on the desired corridors
For high-volume KYC processing, the Prepaid option provides a more streamlined experience

Getting documents back in case of link based KYC/KYB#

In cases where partners expose a link for their customers to complete the KYC/KYB, it becomes essential for partners to get the documents/data that customers are submitting on the link and store it in their system.
Zynklabs provides an API to get the KYC/KYB data. This is subjective to jurisdictions and may not be available in all jurisdictions.
Partners can call GET KYC documents endpoint to fetch the data.
Example response for USD Corridor:
{
    "success": true,
    "data": {
        "name": {
            "first": "ALEXANDER J",
            "middle": null,
            "last": "SAMPLE",
            "full": "ALEXANDER J SAMPLE"
        },
        "address": {
            "street": "600 CALIFORNIA STREET",
            "street2": "22 b",
            "city": "SAN FRANCISCO",
            "subdivision": "CA",
            "postal_code": "94109",
            "country_code": "US"
        },
        "dateOfBirth": "1977-07-17",
        "phoneNumber": "+12345678900",
        "emailAddress": "alex.sample@gmail.com",
        "files": [
            {
                "type": "drivers_license_back",
                "fileName": "drivers_license_back.jpg",
                "contentType": "image/jpeg",
                "downloadUrl": "https://dummy-link.com/drivers_license_back.jpg"
            },
            {
                "type": "drivers_license_front",
                "fileName": "drivers_license_front.jpg",
                "contentType": "image/jpeg",
                "downloadUrl": "https://dummy-link.com/drivers_license_front.jpg"
            },
            {
                "type": "selfie_left",
                "fileName": "selfie_left.jpg",
                "contentType": "image/jpeg",
                "downloadUrl": "https://dummy-link.com/selfie_left.jpg"
            },
            {
                "type": "selfie_right",
                "fileName": "selfie_right.jpg",
                "contentType": "image/jpeg",
                "downloadUrl": "https://dummy-link.com/selfie_right.jpg"
            },
            {
                "type": "selfie",
                "fileName": "selfie.jpg",
                "contentType": "image/jpeg",
                "downloadUrl": "https://dummy-link.com/selfie.jpg"
            }
        ],
        "identificationNumbers": [
            {
                "type": "drivers_license",
                "issuingCountryCode": "US",
                "identificationNumber": "I1234562"
            },
            {
                "type": "social_security_number",
                "issuingCountryCode": "US",
                "identificationNumber": "123-12-1234"
            }
        ]
    }
}
Important Considerations for Download URLs
The downloadUrl provided in the response is not valid indefinitely. It is a pre-signed URL with a limited lifespan. Therefore, you must not store these URLs. Instead, it is crucial to download the documents immediately after receiving the API response.
Modified at 2025-11-14 14:56:54
Previous
Entities/Customers
Next
RFI Scenarios for Customers
Built with