Skip to main content

Virtual Accounts

Overview

In the Connect Financial system, accounts refer specifically to Virtual Accounts. These allow users to send and receive fiat currency using standard banking rails like ACH, FedWire, and SWIFT. Virtual accounts are distinct from wallets, which hold the actual asset balance.

Each user provisioned with a virtual account is assigned unique account details (i.e. account number and routing number). You can use a range of API endpoints to interact with the account, including endpoints to initiate withdrawals, receive deposits, and retrieve transaction history.

Structure and Relationship

  • Virtual accounts are products assigned to customers
  • Users may only have one virtual account, which will be linked to their default digital wallet
  • Balances shown in the wallet’s balance ****reflect the funds allocated to the virtual account in real-time
  • Virtual accounts may be created in the name of an individual or a business. Different virtual account types have different compliance requirements

💡 Think of virtual accounts as front doors - they are how value enters and exits the system. The wallet in a virtual account is where asset balances are managed.

Guides Virtual Accounts

Creating a Virtual Account

You can use the /create_virtual_account endpoint to issue a virtual account to a user.

All virtual accounts require KYC and/or KYB documents to be submitted at the time of application, as described below:

Client responsibilities:

  • Provide the required KYC/KYB documents (encoded in Base64)

Our system handles:

  • Customer creation with our banking partners
  • Virtual account creation
  • Linking the virtual account to the user’s wallet

You don’t need to manage the complexity of creating a customer with our partners, or linking the virtual account — the system takes care of it behind the scenes.

Example Flow

  1. A new customer is onboarded onto the system.
  2. The user goes through KYC, and the records are appended to the user’s record.
  3. The csutomer completes an application process, nominating their occupation and other details as required.
  4. Client calls /create_virtual_account with KYC info encoded in Base64.
  5. The virtual account is issued and linked to the customer’s default digital wallet. The customer is supplied with routing and account numbers.
  6. The user can now:
    • Receive deposits via SWIFT, ACH or FedWire
    • Initiate withdrawals to external bank accounts via SWIFT, ACH or FedWire.
  7. All deposits and withdrawals adjust the linked wallet balance in real-time.
info

You may configure webhooks to receive notifications related to deposits and withdrawals from end user virtual accounts.

Compliance

Virtual accounts require full KYC or KYB depending on the account type. You must ensure:

  • The user has passed the required identity verification
  • Documents for KYC (individuals) include:
    • Biometric passport
    • Proof of address (IP or physical address)
    • Declared occupation
KYC

KYC documents can be recalled from a stored KYC record and encoded into Base64 format automatically for inclusion in the virtual account creation endpoint request.

Key Terms

  • Virtual Account: A banking subledger account for receiving and sending fiat funds, linked to a user’s wallet.
  • SWIFT / ACH / FedWire: Payment rails used for sending/receiving fiat within the US and internationally.