Skip to main content

Overview

A Virtual Account is the customer-facing account abstraction for receiving funds in an asset. Clients see the Virtual Account, not the underlying provider bank accounts that Conduit provisions and manages internally. Virtual Accounts are scoped to a customer and asset. For fiat assets, each active Virtual Account can expose deposit instructions grouped by collection rail, such as ACH, Fedwire, RTP, or SWIFT.

Lifecycle

StatusMeaning
pending_activationThe Virtual Account has been requested and Conduit is provisioning provider-side backing accounts.
activeAt least one backing account is active and deposit instructions can be returned.
disabledThe Virtual Account is no longer available for new deposits.

Deposit Instructions

Deposit instructions are returned on the Virtual Account as depositInstructions[]. Each element is a deposit block — a discriminated union grouped by collection method rather than individual rails.

Block types

typeDescription
domestic_usdDomestic USD rails (ACH, Fedwire, RTP). Includes accountNumber, beneficiaryName, beneficiaryAddress, bank, paymentReference, and a rails[] array.
swift_usdInternational SWIFT transfers. Includes accountNumber, iban, beneficiaryName, beneficiaryAddress, bank, correspondent, paymentReference, and a one-element rails[] array.

Rail entries

Each block contains a rails[] array describing the individual networks available for that block: Each domestic_usd rail entry includes routingNumber and, depending on the rail:
  • ach: sameDayEligible (boolean) reflects same-day ACH eligibility for this bank.
  • fedwire: no sameDayEligible or networks fields.
  • rtp: networks lists the supported RTP networks (e.g. ["TCH", "FEDNOW"]); fednowCap is set when FEDNOW is supported.
  • swift entries carry only the rail discriminant.

Bank information

The optional bank object on each block contains legalName, address, bic, and abas (with fedwire, ach, and rtp routing numbers). When bank is null the information is not disclosed for that block. Conduit does not expose provider names, bank-account ids, payment-routing rule ids, or raw provider metadata in client-facing Virtual Account responses.

API Surface

Use the customer-scoped read endpoints to retrieve Virtual Accounts:
  • GET /v2/customers/:customerId/virtual-accounts
  • GET /v2/customers/:customerId/virtual-accounts/:virtualAccountId
The list endpoint accepts an optional ?asset=USD query parameter to filter by asset code (case-insensitive). Both endpoints require the customer to have the VIRTUAL_ACCOUNT feature enabled.