Zynk
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
  1. Accounts & Wallets
  • 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. Accounts & Wallets

About Plaid Integration

Plaid's product, a technology platform, enables applications to connect with users' bank accounts. It allows Zynklabs to interact with users bank accounts, check balances, and authorise payments(debit/credit) through different connected banks.
In Zynklabs ecosystem, we will be using Plaid integrated bank accounts to mostly perform ACH pull when accepting deposits or doing withdrawls in USD jurisdiction. Zynklabs offers ACH pull in addition to ACH push, RTP, fedwire etc

How to use Plaid with Zynk ?#

To integrate Plaid, first you will have to initiate the Plaid process via our endpoints, but then you can drive the process with the Plaid Link SDK.
This gives you more control over the user experience and integration at the app level.
Plaid Link SDK
Please review the Plaid link SDK documentation for up to date integration details.
Plaid provides platform specific SDKs including:
Web
IOS
Android
React Native
Webview (deprecated and discouraged by Plaid)
Plaid Link is different than the Plaid backend SDK. It provides a front-end UI that allows Customers to authenticate with their external bank accounts institution.
💡
Understanding Tokens
Plaid Link Token: This is a short-lived, single-use token generated on your server. It's passed to your client-side application to initialize Plaid Link, ensuring secure communication and preventing unauthorized access.
Plaid Public Token: Once a user successfully connects their financial institution through Plaid Link on the client-side, Plaid returns a public_token. This token is also short-lived and single-use. It's designed to be securely sent from your client-side to your server.
Plaid Access Token: On your server, you exchange the public_token for a persistent access_token. This access_token is sensitive and should never be exposed on the client-side. It's used to access a user's financial data (transactions, balances, accounts, etc.) via the Plaid API.
Account ID: After obtaining an access_token, you can use it to fetch a list of accounts associated with the connected institution. Each account will have a unique account_id that identifies a specific bank account, credit card, or investment account.

Integrating Plaid with Zynk platform for your users#

1. Generate Plaid Link Token#

To generate a Plaid Link token, you need to make a POST request to the Generate Plaid link token API.
The plaid_token is valid for 4 hours

2. Initializing Plaid Link#

Using the received plaid_token, you should initialize and launche the Plaid Link module. This is typically done by calling Plaid.create() and then handler.open().
Please visit Plaid SDK for more details.
This will launch a Plaid interface with which you users will interact.
The detailed flow of user interaction is given at the end of this page
Upon successful connection, Plaid Link invokes the onSuccess callback function provided during initialization. This callback receives the public_token and metadata from Plaid. The metadata object will contain a list of accounts, each with an id property (which corresponds to the account_id).

3. Create External Account#

After successfully obtaining the public_token (from the client-side) and the relevant account_id (either from the client-side metadata or by fetching accounts server-side), you can use these identifiers to register a Plaid-integrated external account with Zynklabs.
Please see details of External Account
Upon successful submission, this API call will integrate the Plaid account with Zynklabs platform.
The public_token is valid for 30 minutes only

Updating Plaid Link on expiry#

When a customer's Plaid linkage expires, they need to re-integrate their bank account with Plaid. You'll know this has happened when Simulate API returns the error.
${fromAccount.id} need to be reintegrated with plaid.
This re-integration is a three-step process:
1.
Create a Plaid Link Update Token
To start the update process, you need to generate a new Plaid Link token. This is done by making a POST request to Update Plaid Link token API.
A successful request will return a JSON object containing the plaid_token.
This plaid_token is valid for 4 hours.
2.
Initialize Plaid Link
With the plaid_token in hand, your application will initialize and launch the Plaid Link module. This is typically done by calling Plaid.create() and then handler.open().
The user will then interact with the Plaid Link interface to grant permission for their bank account again. Once the user successfully authenticates, the SDK will provide a public_token and an account_id.
3.
Activate External Account
After Plaid has been successfully re-registered with the bank account, you must activate the external account. This involves making a POST request to the Enable External account API.
Upon a successful submission, this API call will activate the Plaid account again for the user.

Edge cases of workflow for Plaid Token#

plaid_token_flow.jpg
Once the partner initiates the token generation process by calling Zynk’s generatePlaidToken API. Zynklabs issues a token, which the partner embeds in their SDK to allow the user to link their account. If the user successfully links, the partner can proceed by calling the externalAccount API to create an entity account. In cases where the user aborts linking or an error occurs, the flow is retried. If the user or partner loses the token, or an error occurs during token generation, the API can be called again with createNewToken=false to retrieve an existing token, or with createNewToken=true to generate a fresh one. This ensures resilience in handling retries, user interruptions, and token loss while maintaining a consistent linking experience.
Modified at 2025-11-14 15:06:31
Previous
Funding Accounts
Next
Counterparty Risk details
Built with