logo
SPVsVirtual Accounts

Virtual Accounts

A Virtual Account is a dedicated bank account created for each SPV. It acts as the collection point for all investor payments into that SPV -- every d...

A Virtual Account is a dedicated bank account created for each SPV. It acts as the collection point for all investor payments into that SPV -- every dollar investors send (whether by ACH or wire transfer) lands in the SPV's virtual account.

How Virtual Accounts Work

When an SPV is opened, the system automatically provisions a virtual account through the payment provider. This account comes with:

  • Real routing number -- a standard bank routing number
  • Real account number -- a unique account number specific to this SPV
  • Account holder name -- the legal name of the SPV entity

These are real banking credentials that work with the ACH network and for wire transfers. The virtual account is owned and managed by the payment provider, but operates as a dedicated account for the SPV.

Account Types

An SPV can have up to two virtual accounts at the same time:

TypePurposeWhen Created
OperatingThe permanent account owned by the SPV entity. All payments ultimately flow through this account. Created when KYB is approved and the SPV's own legal entity is registered with the payment provider.Normal open flow, or after KYB approval for emergency-opened SPVs.
SuspenseA temporary holding account owned by the platform's master LLC. Used when an SPV is emergency-opened before KYB is approved.Emergency open only.

Most SPVs will only ever have an operating account. The suspense account exists solely for the emergency open scenario and is closed after funds are swept.

Virtual Account Statuses

StatusMeaning
PendingThe account has been requested from the payment provider but is not yet active. This is a brief transitional state.
ActiveThe account is fully operational. It can receive and send payments. This is the normal operating state.
SuspendedThe account has been temporarily suspended (usually by the payment provider for compliance reasons). Payments cannot be processed while suspended.
ClosedThe account has been permanently closed. No further transactions are possible.

How Money Flows Through Virtual Accounts

Normal Flow (Single Account)

  1. Inbound: When an investor makes a payment (ACH or wire), the money goes into the SPV's operating account.
  2. Holding: The money sits in the operating account while the SPV is open and fundraising continues.
  3. Outbound: After the SPV closes and funding closes are settled, funds are disbursed from the operating account to the portfolio company.

Emergency Open Flow (Dual Account)

When an SPV is emergency-opened, payments initially land in the suspense account. Once the operating account is ready, an admin sweeps funds over:

  1. Inbound: Investor payments land in the suspense account (under the master LLC).
  2. Sweep: Once the operating account is active, an admin clicks "Sweep to Operating" to transfer the full balance.
  3. Close suspense: After a successful sweep, the suspense account is automatically closed if its balance reaches zero.
  4. Outbound: Disbursements are always made from the operating account.

Sweeping Funds

When an SPV has both a suspense and an operating account, the admin panel shows a Sweep to Operating action. Sweeping:

  • Fetches the live balance from the suspense account via the payment provider.
  • Initiates a book transfer moving the full balance from suspense to operating.
  • Records a ledger journal entry for the sweep (debit operating cash, credit suspense cash).
  • Attempts to close the suspense account if the balance is zero after the sweep.

Sweeps are triggered manually by an admin -- they do not happen automatically. The admin panel clearly indicates when a sweep is needed.

Migration Note

When the V2 payment infrastructure was deployed, all existing pending SPVs (from the V1 era) had virtual accounts automatically provisioned by a one-time migration task. These virtual accounts work identically to those created through the normal "Open SPV" flow -- the only difference is how they were created. You can identify them in the audit trail by the migration-related audit entries.

How Balances Work

Every virtual account displays a balance representing the total funds held. This balance can come from one of two sources:

  • Provider (default) -- the payment provider reports the balance directly. This is the legacy approach and is still the default for most SPVs.
  • Ledger -- the balance is derived from the platform's double-entry ledger. Every payment, reversal, fee, and distribution is recorded as a balanced journal entry, and the SPV's cash balance is computed from those entries.

The admin panel shows which source is authoritative for each virtual account via a "Source" badge. When the source is set to "Ledger," the admin panel also displays the raw provider balance alongside the ledger balance so you can spot any discrepancy.

Balance Refresh

Provider-reported balances are kept up to date through multiple mechanisms:

  • Daily sync -- a scheduled job runs every day at 1:30 AM UTC and refreshes the cached balance for every active virtual account from the payment provider.
  • Event-driven sync -- balances are automatically refreshed when payment webhooks arrive (e.g. a payment completes or fails) and when account-level webhooks fire (e.g. a balance update notification from the provider).
  • On-demand refresh -- admins can manually trigger a balance refresh from the admin panel for any virtual account (including DAF managed wallets).

A daily comparison job also runs automatically to compare the provider-reported balance against the ledger-derived balance for every SPV. If the two values differ, the operations team is alerted via Slack and email. This monitoring runs continuously to maintain confidence in the ledger's accuracy.

What Admins Should Know

  • You don't manage virtual accounts directly -- they are automatically created when an SPV is opened and are managed by the payment provider.
  • Banking details for wire transfers -- when investors choose to wire funds, the virtual account's routing number and account number are the destination. These details are shared with investors through the wire instructions portal (never via email for security).
  • Most SPVs have one account -- the normal flow provisions a single operating account. Only emergency-opened SPVs temporarily have two (operating + suspense).
  • Sweep promptly after emergency open -- if an SPV was emergency-opened and now has an operating account, sweep funds from suspense to operating as soon as possible. See Emergency Opening.
  • Virtual accounts are viewable in the admin panel -- you can see the account status, type (operating or suspense), provider details, and associated SPV from the Virtual Accounts section in admin.
  • Suspended accounts need attention -- if a virtual account shows as "Suspended," contact the payment provider. This may indicate a compliance hold that needs resolution before payments can continue.
  • Balance source badges -- in the admin panel, each virtual account shows a badge indicating whether its balance comes from the payment provider or the ledger. If you see "Ledger," the platform's own accounting records are the source of truth for that SPV's balance.