---
title: "Deactivate a Virtual Account"
method: PATCH
path: "/v2/virtual-account/{virtualAccountId}/deactivate"
---

# Deactivate a Virtual Account

`PATCH /v2/virtual-account/{virtualAccountId}/deactivate`

Deactivate a virtual account so it no longer accepts deposits.

## Path parameters

- `virtualAccountId` string, required

## Response `200`

- VirtualAccountResponseDto
  - `id` string, required — Unique identifier for the virtual account.
  - `customer` string — The customer ID who owns the virtual account.
  - `active` boolean, required — Whether the virtual account is currently active and accepting deposits.
  - `depositInstructions` object, required — Bank account details that depositors should use to send fiat funds into the virtual account.
    - `currency` 'usd' | 'eur', required — The fiat currency accepted for deposits into the virtual account.
    - `bankName` string, required — Name of the bank holding the virtual account.
    - `bankAddress` string, required — Address of the bank holding the virtual account.
    - `bankAccountNumber` string, nullable, required — Bank account number for deposits (USD accounts). Null for EUR accounts.
    - `bankRoutingNumber` string, nullable, required — Bank routing number for deposits (USD accounts). Null for EUR accounts.
    - `bankBeneficiaryName` string, required — Name of the beneficiary on the account.
    - `bankBeneficiaryAddress` string, required — Address of the beneficiary on the account.
    - `iban` string, nullable, required — IBAN for deposits (EUR accounts). Null for USD accounts.
    - `bic` string, nullable, required — BIC/SWIFT code for deposits (EUR accounts). Null for USD accounts.
  - `destination` object, required — The crypto destination where converted funds are sent after deposit.
    - `currency` 'usdc' | 'usdt' | 'eurc', required — The crypto currency deposited funds are converted into.
    - `walletAddress` string, required — The on-chain wallet address where converted crypto is sent.
    - `network` 'arbitrum' | 'avalanche' | 'base' | 'ethereum' | 'polygon' | 'sol' | 'tron', required — The blockchain network the destination wallet is on.
  - `fee` object — Fee breakdown for the virtual account, including integrator and platform fees.
    - `totalBpsRate` string, required — Total fee rate in basis points (integrator + platform). 1 bps = 0.01%.
    - `integratorFee` object, required — Fee charged by the integrator.
      - `bpsRate` string, required — Integrator fee rate in basis points (1 bps = 0.01%).
    - `platformFee` object, required — Fee charged by the platform.
      - `bpsRate` string, required — Platform fee rate in basis points (1 bps = 0.01%).
  - `created` string, required — Timestamp when the virtual account was created (ISO 8601).
  - `updated` string, required — Timestamp when the virtual account was last updated (ISO 8601).

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `422` — Unprocessable Entity - Validation Error

---

[API](https://skmtc.net/spherepay/apis/docs-spherepay-co.md) · [All operations](https://skmtc.net/spherepay/apis/docs-spherepay-co/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spherepay/docs-spherepay-co/versions/4f3f5484aed3/schema)
