Paying workers via Virtual Accounts
Overview
This guide details the steps needed to pay worker wallets via dedicated unique virtual accounts.
flowchart TD %% ───── PLATFORM & WALLETS ───── subgraph PLATFORM direction TB P[Platform onboards woekrs] subgraph USER_WALLETS direction LR W1[User Wallet #1<br /><small>USD virtual acct</small>] W2[User Wallet #2<br /><small>USD virtual acct</small>] Wn[User Wallet …] end end %% ───── EXTERNAL FUNDING ───── ACH[(External Bank)] %% ───── FUNDING PATHS ───── ACH -- "ACH credit" --> W1 ACH -- "ACH credit" --> W2 ACH -- "ACH credit" --> Wn
Pre-Requisites
Please work with your account manager to make sure your platform has access enabled for these unique USD virtual accounts.
Wallet Onboarding
Once a worker wallet is created, the user has to go through an onboarding flow to get complete access to their account. The onboarding flow consists of:
- Completing KYC (biometrics plus government ID checks)
- Completing any tax forms depending on the location of the user (e.g W8BEN, W8BENE, W9)
- Completing the financial disclosures
In some cases additional information about the user or their work history may be required to complete their onboarding.
You can use webhooks or rely on polling to get the latest status of a user's onboarding.
- Get User KYC Get User KYC .
- KYC Webhooks KYC Webhooks .
Once a user onboarding is completed and their compliance checks approved, unique dedicated account funding details are assigned to each wallet that can be used for funding.
Virtual Account Creation
After a user completes onboarding and passes all compliance checks, you can provision and assign unique funding details to their wallet. To proceed, verify that both identity
and address
KYC have been approved. You can confirm this by either:
- Checking the user's KYC status directly, or
- Listening for the
user.kyc.updated
event to be notified when compliance details are approved.
Steps to Create and Manage Virtual Accounts
-
Create a Virtual Account: Use the Create Virtual Account endpoint to generate a dedicated funding account for the user's wallet.
-
Retrieve Virtual Account Details: Access the Retrieve Virtual Account endpoint to fetch the account's funding information.
-
Monitor Account Status: Implement webhooks to receive real-time updates on the status of requested virtual accounts.
Once a virtual account is active, it can be used to fund the user's wallet. For details on event types and webhook payloads, see the Virtual Accounts Event Reference.
Next Steps
With these steps, you should have successfully created and paid workers into their wallets. Check out the full API documentation for the rest of the functionality Full API Reference .
Updated 4 days ago