---
title: "Update Virtual Account"
method: PATCH
path: "/partners/accounts/update-virtual-account"
tags: ["Partners"]
---

# Update Virtual Account

`PATCH /partners/accounts/update-virtual-account`

Update an existing virtual account: add or enable chains with currencies, disable managed chains, add external wallet addresses, and configure deposit splits.

## Request body

- PartnersUpdateVirtualAccountRequest
  - `reference` string, required — Reference of the virtual account to update.
  - `chains` PartnersChainConfig[] — Add or update chain configurations. Entries without wallet_address add/enable managed wallets; entries with wallet_address add/update external wallets.
    - `chain_id` integer — The blockchain network ID.
    - `currencies` string[] — List of currency symbols to enable on this chain.
    - `wallet_address` string — External wallet address for this chain. When provided, creates an external (self-custody) sub-account instead of a managed wallet. Omit for managed (DFNS) wallets.
  - `disable_chains` integer[] — List of chain IDs to disable for managed (pay-in) sub-accounts.
  - `deposit_splits` PartnersDepositSplitInput[] — Update deposit split configuration. Omit to keep current splits unchanged. Send empty array to clear splits. Send array with entries to replace splits.
    - `account_ref` string — Reference of the target virtual account to receive this split. Exactly one of account_ref or account_id must be provided.
    - `account_id` integer — ID of the target virtual account to receive this split. Exactly one of account_ref or account_id must be provided.
    - `pct` string, required — Percentage of gross deposit amount to route to this destination. Use decimal string (e.g. "2.5" for 2.5%).

## Response `200`

OK

- InternalResponseAccountsUpdateVirtualAccountResponse
  - `data` AccountsUpdateVirtualAccountResponse
    - `id` integer — The unique identifier for the account.
    - `org_id` string — The organization ID.
    - `parent_id` integer — Parent account ID, if applicable.
    - `reference` string — The account reference identifier.
    - `account_type` 1 | 2 | 3 — The type of the current account. - 1 = Crypto - 2 = Bank - 3 = Card
    - `name` string — Account name.
    - `chain_id` integer — Blockchain network ID.
    - `address` string — Crypto wallet address.
    - `currencies` string[] — Supported currencies.
    - `enabled` boolean — Whether the account is enabled.
    - `provider` string — Account provider (e.g. DFNS, External).
    - `state` 1 | 2 | 3
    - `created_at` string — Creation timestamp.
    - `updated_at` string — Last update timestamp.
    - `chain` AccountsChainResponse
      - `category` string — The category or classification of the chain.
      - `code` string — The code or abbreviation associated with the chain.
      - `is_testnet` boolean — Indicates whether the chain is a testnet (true) or not (false).
      - `name` string — The name or title associated with the chain.
      - `native_currency_symbol` string — The symbol representing the native currency of the chain.
    - `sub_accounts` AccountsUpdateVirtualAccountResponse[] — Sub-accounts under this virtual account.
  - `error` boolean
  - `message` string

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

---

[API](https://skmtc.net/boomfi/apis/boomfi-merchants-api.md) · [All operations](https://skmtc.net/boomfi/apis/boomfi-merchants-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/boomfi/boomfi-merchants-api/revisions/ace3c3df05fe/schema)
