Zynk
Getting StartedProduct Guides
API ReferenceFAQ'sRecipes
Getting StartedProduct Guides
API 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
      • 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
  1. Customers & Identity

About KYC/KYB

Once a customer is registered using Create Entity, partners must initiate the KYC/KYB verification process for the customer.

KYC — Individual Verification#

The KYC process includes, but may not be limited to, the following:
CheckDescription
Identity DocumentGovernment-issued photo identification
Selfie VerificationLiveness check matched against the photo ID
Database VerificationPII validated against voter, telco, utility, or credit databases
AML ScreeningPEP / HIO report, Watchlist / Sanctions report, Adverse Media Report

KYB — Business Verification#

Businesses will go through a KYB process to verify their identity. Each beneficial owner will also need to complete KYC.

Business Information#

RequirementDescription
Business IdentityLegal name of business and Doing Business As (DBA)
EIN NumberEmployer Identification Number
AddressRegistered business address
Phone NumberPrimary business contact number
WebsiteBusiness website URL

Compliance Checks#

CheckDescription
Database VerificationValidates business name, EIN, and address
Beneficial Owner KYCAll owners with 25% or more ownership undergo standard KYC
AML ScreeningBusiness-level anti-money laundering screening
Watchlist / SanctionsScreened against global watchlists and sanctions databases
Adverse Media ReportScreening for negative media coverage associated with the business

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.
Check for supportedRoutes field in the response of the API to undertsand which jursidictions are enabled and are of interest. The field will have sub sections of from and to jurisdictions. For example, if partners want to provide INR payout route to their customers, then the supportedRoute will have from jursidiction as Solana(USDT/USDC) and destination jurisdiction as INR.
Below is a list of different routing ids as per jursidictions:
PartnerProductionSandbox
AEDinfrap_0af8b379_fcd1_4be7_b682_e916642eb7cfinfrap_cd22afee_2237_405e_a38e_abaeed105a8a
BRL/ARS/MXNinfrap_33958bae_3803_4fd6_bbcf_758f54f7e06finfrap_73069ca9_e874_4aac_8eac_b27c2c2d6a89
PHPinfrap_76ba78e9_274c_4cd3_8b33_ae4f07151389infrap_32ed2473_7738_4e29_a617_d8cc918591f8
INRinfrap_a00e4da2_56d4_427c_8e7a_93b2c8c2d756infrap_2a32fe43_b639_4acb_ac5b_b629d34691cd
USD-2infrap_eda14401_2372_461e_bffb_4bdf3a7ee651infrap_6ba200fc_094c_476d_bf38_8e3964f49f75
{
  "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 2026-03-28 04:30:27
Previous
Entities/Customers
Next
RFI Scenarios for Customers
Built with