> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.bridge.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a Virtual Account

> Update instructions for an existing Virtual Account



## OpenAPI

````yaml https://withbridge-image1-sv-usw2-monorail-openapi.s3.amazonaws.com/latest.json put /customers/{customerID}/virtual_accounts/{virtualAccountID}
openapi: 3.0.2
info:
  title: Bridge API
  description: APIs to move into, out of, and between any form of a dollar
  version: '1'
servers:
  - url: https://api.bridge.xyz/v0
    description: The base path for all resources
security:
  - ApiKey: []
tags:
  - name: Customers
  - name: Fiat Payout Configuration
  - name: External Accounts
  - name: Transfers
  - name: Prefunded Accounts
  - name: Balances
  - name: Liquidation Addresses
  - name: Developers
  - name: API Keys
  - name: Plaid
  - name: Virtual Accounts
  - name: Static Memos
  - name: Cards
  - name: Funds Requests
  - name: Webhooks
  - name: Lists
  - name: Crypto Return Policies
  - name: Rewards
  - name: Associated Persons
  - name: Sandbox
paths:
  /customers/{customerID}/virtual_accounts/{virtualAccountID}:
    put:
      tags:
        - Virtual Accounts
      summary: Update a Virtual Account
      description: Update instructions for an existing Virtual Account
      parameters:
        - $ref: '#/components/parameters/CustomerIDParameter'
        - $ref: '#/components/parameters/VirtualAccountIDParameter'
      requestBody:
        description: The Virtual Account details to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVirtualAccount'
      responses:
        '200':
          description: Updated Virtual Account object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountResponse'
components:
  parameters:
    CustomerIDParameter:
      name: customerID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
    VirtualAccountIDParameter:
      name: virtualAccountID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
  schemas:
    UpdateVirtualAccount:
      properties:
        destination:
          $ref: '#/components/schemas/UpdateVirtualAccountDestination'
        developer_fee_percent:
          $ref: '#/components/schemas/VirtualAccountDeveloperFeePercent'
        fee_config:
          description: >-
            Developer fee configuration. Available by request only. Contact
            Bridge to enable this feature for your developer account. When
            provided, performs a full replacement of the existing fee
            configuration. If the virtual account was previously configured with
            `developer_fee_percent`, providing `fee_config` will clear
            `developer_fee_percent` and replace it with the new configuration.
            Include the desired fee under `source` (e.g.
            `fee_config.source.fee_percent`). Cannot be provided alongside
            `developer_fee_percent` in the same request.
          allOf:
            - $ref: '#/components/schemas/FeeConfigRequest'
    VirtualAccountResponse:
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        status:
          $ref: '#/components/schemas/VirtualAccountActivationStatus'
        developer_fee_percent:
          $ref: '#/components/schemas/VirtualAccountDeveloperFeePercent'
        fee_config:
          description: >-
            Developer fee configuration. Available by request only and returned
            only for developers with this feature enabled.
          allOf:
            - $ref: '#/components/schemas/FeeConfigResponse'
        customer_id:
          $ref: '#/components/schemas/Id'
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the virtual account
          format: date-time
        source_deposit_instructions:
          $ref: '#/components/schemas/VirtualAccountSourceDepositInstructions'
        destination:
          $ref: '#/components/schemas/VirtualAccountDestination'
    Id:
      description: A UUID that uniquely identifies a resource
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 42
    UpdateVirtualAccountDestination:
      properties:
        currency:
          $ref: '#/components/schemas/CryptoCurrency'
        payment_rail:
          $ref: '#/components/schemas/OfframpChain'
        address:
          description: >-
            The crypto wallet address that the customer wishes to ultimately
            receive funds at
          type: string
        blockchain_memo:
          type: string
          description: >-
            The memo to include when sending funds on chain. Only allowed for
            blockchains that support memos such as Stellar
        bridge_wallet_id:
          $ref: '#/components/schemas/Id'
          description: >-
            The Bridge Wallet to which Bridge will send the funds. The chain
            associated with the Bridge Wallet must match the payment rail.
      example:
        currency: usdc
        payment_rail: polygon
        address: '0xdeadbeef'
        blockchain_memo: from_bridge
    VirtualAccountDeveloperFeePercent:
      description: >-
        The developer fee percent that will be applied to this Virtual Account.
        The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
      type: string
      format: number
      minimum: 0
      maximum: 100
      exclusiveMaximum: true
      example: '0.1'
    FeeConfigRequest:
      description: >-
        Developer fee configuration. Available by request only. Contact Bridge
        to enable this feature for your developer account. The `source` object
        supports direct fee parameters as a shorthand for a default fee, an
        explicit `default` key, payment-rail keys (e.g. `ach_push`, `wire`), or
        a mixed default-plus-override form.
      type: object
      properties:
        source:
          description: >-
            Source-side fee configuration. Supports direct fee params under
            `source`, an explicit `default` key, payment-rail keys such as
            `ach_push` and `wire`, or a mixed default-plus-override form.
          anyOf:
            - $ref: '#/components/schemas/FeeConfigFeeParams'
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/FeeConfigFeeParams'
          example:
            fee_percent: '0.5'
            minimum_fee: '1.00'
            wire:
              fee_amount: '10.00'
              fee_percent: '1.0'
    VirtualAccountActivationStatus:
      description: The activation status of the Virtual Account
      type: string
      enum:
        - activated
        - deactivated
    FeeConfigResponse:
      description: >-
        Developer fee configuration. Available by request only. Contact Bridge
        to enable this feature for your developer account. Responses render
        source-side fees keyed by payment rail, using `default` for a catch-all
        configuration.
      type: object
      properties:
        source:
          description: Source-side fee configuration keyed by payment rail or `default`
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FeeConfigFeeParams'
          example:
            default:
              fee_percent: '0.5'
              minimum_fee: '1.00'
            wire:
              fee_amount: '10.00'
              fee_percent: '1.0'
    VirtualAccountSourceDepositInstructions:
      title: Source Deposit Instructions
      readOnly: true
      oneOf:
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsUs'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsEu'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsMx'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsBr'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsGb'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCo'
    VirtualAccountDestination:
      required:
        - currency
        - payment_rail
      properties:
        currency:
          $ref: '#/components/schemas/CryptoCurrency'
        payment_rail:
          $ref: '#/components/schemas/OfframpChain'
        address:
          description: >-
            The crypto wallet address that the customer wishes to ultimately
            receive funds at
          type: string
        blockchain_memo:
          type: string
          description: >-
            The memo to include when sending funds on chain. Only allowed for
            blockchains that support memos such as Stellar
        bridge_wallet_id:
          $ref: '#/components/schemas/Id'
          description: >-
            The Bridge Wallet to which Bridge will send the funds. The chain
            associated with the Bridge Wallet must match the payment rail.
        prefunded_account_id:
          $ref: '#/components/schemas/Id'
          description: >-
            The id of the prefunded account to which the funds will be sent. Use
            'prefunded' as the payment rail and 'usd' as the currency when
            specifying a prefunded account id.
      example:
        currency: usdc
        payment_rail: polygon
        address: '0xdeadbeef'
    CryptoCurrency:
      type: string
      enum:
        - usdb
        - usdc
        - usdt
        - pyusd
        - eurc
    OfframpChain:
      type: string
      enum:
        - arbitrum
        - avalanche_c_chain
        - base
        - celo
        - ethereum
        - optimism
        - polygon
        - solana
        - stellar
        - tempo
        - tron
    FeeConfigFeeParams:
      description: Fee parameters for a specific payment rail or default configuration
      type: object
      properties:
        fee_percent:
          description: >-
            Percentage fee (0-100, exclusive). Applied to the amount remaining
            after any flat fee deduction.
          type: string
          format: number
          example: '1.5'
        fee_amount:
          description: Flat fee amount deducted before percentage calculation
          type: string
          format: number
          example: '10.00'
        minimum_fee:
          description: Minimum total fee floor
          type: string
          format: number
          example: '1.00'
        maximum_fee:
          description: Maximum total fee cap
          type: string
          format: number
          example: '1000.00'
    VirtualAccountSourceDepositInstructionsUs:
      title: Virtual Account US
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - bank_account_number
            - bank_routing_number
            - bank_beneficiary_name
            - bank_beneficiary_address
          properties:
            bank_account_number:
              description: >-
                The account number of the bank that the customer should send the
                deposit to
              type: string
            bank_routing_number:
              description: >-
                The routing number of the bank that the customer should send the
                deposit to
              type: string
            bank_beneficiary_name:
              description: >-
                If available, the name of the beneficiary of the bank account
                that the customer should send the deposit to
              type: string
            bank_beneficiary_address:
              description: >-
                If available, the address of the beneficiary of the bank account
                that the customer should send the deposit to
              type: string
            currency:
              type: string
              enum:
                - usd
            payment_rail:
              $ref: '#/components/schemas/VirtualAccountSourcePaymentRails'
              deprecated: true
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - ach_push
                  - fednow
                  - wire
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
      example:
        currency: usd
        payment_rails:
          - ach_push
          - fednow
          - wire
        bank_name: Lead Bank
        bank_address: 1801 Main St., Kansas City, MO 64108
        bank_beneficiary_name: Customer Name
        bank_beneficiary_address: 1234 Main St., Kansas City, MO 64108
        bank_account_number: '123456789'
        bank_routing_number: '87654321'
    VirtualAccountSourceDepositInstructionsEu:
      title: Virtual IBAN
      allOf:
        - type: object
          required:
            - iban
            - bic
            - account_holder_name
            - currency
            - payment_rails
          properties:
            iban:
              description: >-
                he IBAN of the account that the customer should send the deposit
                to
              type: string
            bic:
              description: The BIC of the bank that the customer should send the deposit to
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - eur
            payment_rails:
              type: string
              enum:
                - sepa
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsMx:
      title: Virtual Account MX
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - account_holder_name
            - clabe
          properties:
            clabe:
              description: >-
                The CLABE (account number) of the account that the customer
                should send the deposit to
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - mxn
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - spei
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsBr:
      title: Virtual Account BR
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - br_code
            - account_holder_name
          properties:
            br_code:
              description: The BR Code that the customer should send the deposit to
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - brl
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - pix
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsGb:
      title: Virtual Account UK
      allOf:
        - $ref: '#/components/schemas/GbBankAccountVirtualAccount'
        - type: object
          required:
            - currency
            - payment_rails
            - account_holder_name
          properties:
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - gbp
            payment_rails:
              type: string
              enum:
                - faster_payments
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsCo:
      title: Virtual Account CO (Bre-B)
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - bre_b_key
            - account_holder_name
          properties:
            bre_b_key:
              description: >-
                The Bre-B key of the Colombian bank account for receiving COP
                deposits
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            deposit_message:
              description: The reference message to include with the COP deposit
              type: string
            currency:
              type: string
              enum:
                - cop
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - bre_b
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourcePaymentRails:
      type: string
      enum:
        - ach_push
        - bre_b
        - faster_payments
        - pix
        - sepa
        - spei
        - wire
    VirtualAccountSourceDepositInstructionsCommon:
      readOnly: true
      type: object
      required:
        - bank_address
        - bank_name
      properties:
        bank_name:
          description: The name of the bank that the customer should send the deposit to
          type: string
        bank_address:
          description: The address of the bank that the customer should send the deposit to
          type: string
    AccountHolderName:
      type: string
      description: The name of the account owner that the deposit must be sent to.
    GbBankAccountVirtualAccount:
      title: gb
      type: object
      required:
        - account_number
        - sort_code
      properties:
        account_number:
          type: string
          description: The bank account number
          minLength: 8
          maxLength: 8
          example: 12345678
        sort_code:
          type: string
          description: The sort code, without hyphens
          minLength: 6
          maxLength: 6
          example: 123456
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Api-Key
      in: header

````