Bridge Virtual Accounts API

The Virtual Accounts API from Bridge — 7 operation(s) for virtual accounts.

OpenAPI Specification

bridge-virtual-accounts-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Bridge API Keys Virtual Accounts 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: Virtual Accounts
paths:
  /customers/{customerID}/virtual_accounts:
    post:
      summary: Create a Virtual Account
      description: Create a Virtual Account or Virtual IBAN for the specified customer
      tags:
      - Virtual Accounts
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      requestBody:
        description: Virtual Account object to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVirtualAccount'
            examples:
              us:
                summary: Virtual Account
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: usd
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              us_fee_config_request_only:
                summary: Virtual Account with fee_config (available by request only)
                value:
                  fee_config:
                    source:
                      ach_push:
                        fee_percent: '0.5'
                        minimum_fee: '1.00'
                      wire:
                        fee_amount: '10.00'
                        fee_percent: '1.0'
                  source:
                    currency: usd
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              eu:
                summary: Virtual IBAN
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: eu
                  destination:
                    currency: eurc
                    payment_rail: solana
                    adddress: DeAdBeEf
              mx:
                summary: Virtual Account Mexico
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: mxn
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              gb:
                summary: Virtual Account United Kingdom (beta)
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: gbp
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              co:
                summary: Virtual Account Colombia (Bre-B)
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: cop
                  destination:
                    currency: usdc
                    payment_rail: ethereum
                    address: '0xdeadbeef'
      responses:
        '200':
          description: Virtual Account object created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountResponse'
              examples:
                us:
                  summary: Virtual Account
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      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'
                    destination:
                      currency: usdc
                      payment_rail: polygon
                      address: '0xdeadbeef'
                us_fee_config_request_only:
                  summary: Virtual Account with fee_config (available by request only)
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.0'
                    fee_config:
                      source:
                        ach_push:
                          fee_percent: '0.5'
                          minimum_fee: '1.00'
                        fednow:
                          fee_percent: '1.0'
                          minimum_fee: '1.00'
                        wire:
                          fee_amount: '10.00'
                          fee_percent: '1.0'
                    source_deposit_instructions:
                      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'
                    destination:
                      currency: usdc
                      payment_rail: polygon
                      address: '0xdeadbeef'
                eu:
                  summary: Virtual IBAN
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: eur
                      payment_rails:
                      - sepa
                      iban: X6099
                      bic: BCIRLULL
                      account_holder_name: Bridge Building Sp. Z.o.o.
                      bank_name: Banking Circle S.A.
                      bank_address: 2 Boulevard de la Foire, L-1528 Luxembourg
                    destination:
                      currency: eurc
                      payment_rail: solana
                      address: DeAdBeEf
                mx:
                  summary: Virtual Account Mexico
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: mxn
                      payment_rails:
                      - spei
                      bank_name: Banco Azteca
                      bank_address: Av. Aztecas 215, Santa Cruz Acatlán, Naucalpan de Juárez, Estado de México
                      bank_beneficiary_name: Customer Name
                      bank_beneficiary_address: Calle Ejemplo 123, Ciudad de México, CDMX 01234
                      bank_account_number: '1234567890123456789'
                      clabe: '127180001234567890'
                    destination:
                      currency: usdc
                      payment_rail: solana
                      address: DeAdBeEf
                gb:
                  summary: Virtual Account United Kingdom (beta)
                  value:
                    id: 2ecad10b-f44b-4ffa-8c53-39a6b63ab9ab
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: gbp
                      payment_rails:
                      - faster_payments
                      account_number: '01234567'
                      sort_code: '987654'
                      bank_name: Banking Circle S.A.
                      bank_address: 2 Boulevard de la Foire, L-1528 Luxembourg
                      bank_benficiary_name: Bridge Building Sp. Z.o.o.
                      bank_benficiary_address: 2 Boulevard de la Foire, L-1528 Luxembourg
                      account_holder_name: Bridge Building Sp. Z.o.o.
                co:
                  summary: Virtual Account Colombia (Bre-B)
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: cop
                      payment_rails:
                      - bre_b
                      bre_b_key: '12345678901234567890'
                      account_holder_name: Bridge Developer Name
                      deposit_message: COP7depositmessage
                    destination:
                      currency: usdc
                      payment_rail: ethereum
                      address: '0xdeadbeef'
    get:
      summary: List Virtual Accounts by Customer
      description: List all Virtual Account objects for a customer
      tags:
      - Virtual Accounts
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/FiatInstructionsActivationStatusParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/VirtualAccountStartingAfterParameter'
      - $ref: '#/components/parameters/VirtualAccountEndingBeforeParameter'
      responses:
        '200':
          description: List of Virtual Accounts
          content:
            application/json:
              schema:
                title: Virtual Accounts
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    description: total number of items in data
                    type: integer
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/VirtualAccountResponse'
  /customers/{customerID}/virtual_accounts/{virtualAccountID}:
    get:
      summary: Get a Virtual Account
      description: Retrieve the Virtual Account object from the passed ID
      tags:
      - Virtual Accounts
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/VirtualAccountIDParameter'
      responses:
        '200':
          description: Successful Virtual Account object response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountResponse'
    put:
      summary: Update a Virtual Account
      description: Update instructions for an existing Virtual Account
      tags:
      - Virtual Accounts
      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'
  /customers/{customerID}/virtual_accounts/{virtualAccountID}/deactivate:
    post:
      summary: Deactivate a Virtual Account
      description: Deactivate a Virtual Account to prevent it from acceping new incoming transactions
      tags:
      - Virtual Accounts
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/VirtualAccountIDParameter'
      responses:
        '200':
          description: Deactivated Virtual Account object
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/VirtualAccountResponse'
                - type: object
                  properties:
                    status:
                      example: deactivated
  /customers/{customerID}/virtual_accounts/{virtualAccountID}/reactivate:
    post:
      summary: Reactivate a Virtual Account
      description: Reactivate a previously deactivated Virtual Account
      tags:
      - Virtual Accounts
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/VirtualAccountIDParameter'
      responses:
        '200':
          description: Reactivated Virtual Account object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountResponse'
  /customers/{customerID}/virtual_accounts/{virtualAccountID}/history:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    - $ref: '#/components/parameters/VirtualAccountIDParameter'
    - $ref: '#/components/parameters/DepositIDQueryParameter'
    - $ref: '#/components/parameters/DepositIDsQueryParameter'
    - $ref: '#/components/parameters/TxHashParameter'
    - $ref: '#/components/parameters/LimitParameter'
    - $ref: '#/components/parameters/EventStartingAfterParameter'
    - $ref: '#/components/parameters/EventEndingBeforeParameter'
    - $ref: '#/components/parameters/EventTypeParameter'
    get:
      summary: Virtual Account Activity
      tags:
      - Virtual Accounts
      description: History of activity for a Virtual Account
      responses:
        '200':
          description: List of Virtual Account events
          content:
            application/json:
              schema:
                title: Virtual Account history
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of events returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/VirtualAccountEvent'
              examples:
                History:
                  $ref: '#/components/examples/VirtualAccountHistoryExample'
  /virtual_accounts:
    get:
      summary: List Virtual Accounts
      description: List all Virtual Account objects
      tags:
      - Virtual Accounts
      parameters:
      - $ref: '#/components/parameters/FiatInstructionsActivationStatusParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/VirtualAccountStartingAfterParameter'
      - $ref: '#/components/parameters/VirtualAccountEndingBeforeParameter'
      responses:
        '200':
          description: List of Virtual Accounts
          content:
            application/json:
              schema:
                title: Virtual Accounts
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    description: total number of items in data
                    type: integer
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/VirtualAccountResponse'
  /virtual_accounts/history:
    parameters:
    - $ref: '#/components/parameters/DepositIDQueryParameter'
    - $ref: '#/components/parameters/DepositIDsQueryParameter'
    - $ref: '#/components/parameters/TxHashParameter'
    - $ref: '#/components/parameters/LimitParameter'
    - $ref: '#/components/parameters/EventStartingAfterParameter'
    - $ref: '#/components/parameters/EventEndingBeforeParameter'
    - $ref: '#/components/parameters/EventTypeParameter'
    - $ref: '#/components/parameters/UpdatedAfterMsParameter'
    - $ref: '#/components/parameters/UpdatedBeforeMsParameter'
    get:
      summary: Virtual Account Activity Across All Customers
      tags:
      - Virtual Accounts
      description: History of activity across all customers and Virtual Accounts
      responses:
        '200':
          description: List of Virtual Account events
          content:
            application/json:
              schema:
                title: Virtual Account history
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of events returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/VirtualAccountEvent'
              examples:
                History:
                  $ref: '#/components/examples/VirtualAccountHistoryExample'
components:
  schemas:
    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
    TravelRuleName:
      type: string
      description: Legal name of the originator or beneficiary. Usually omitted when `is_self` is `true`.
    Uetr:
      description: 'Deprecated: use tracking_number instead. The unique end-to-end transaction reference, for tracing purposes.'
      type: string
      readOnly: true
      deprecated: true
    VirtualAccountSourcePaymentRails:
      type: string
      enum:
      - ach_push
      - bre_b
      - faster_payments
      - pix
      - sepa
      - spei
      - wire
    TravelRuleIsSelf:
      type: boolean
      description: Set to `true` when this party is the same person or business as the Bridge customer on the resource. When `true`, Bridge uses the customer's name and address on file instead of relying on `name` and `address` in this payload.
    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
    PaymentScheme:
      type: string
      enum:
      - sepa_credit
      - sepa_instant
    TravelRuleOriginator:
      type: object
      description: Travel Rule details for originator crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: Mailing or legal address of the originator. Usually omitted when `is_self` is `true`.
          allOf:
          - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        identifying_information:
          allOf:
          - $ref: '#/components/schemas/IdentifyingInformation'
          description: 'List of identification objects for the originator. Do **not** include `image_front` or `image_back` fields in this context; those are not accepted in Travel Rule submissions.

            '
        birth_date:
          type: string
          description: Date of birth in format yyyy-mm-dd.
          minLength: 10
          maxLength: 10
        place_of_birth:
          $ref: '#/components/schemas/PlaceOfBirthInput'
        legal_entity_identifier:
          type: string
          description: The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of the originator. Provide this when the originator is a legal entity rather than an individual.
    AccountHolderName:
      type: string
      description: The name of the account owner that the deposit must be sent to.
    VirtualAccountRefundDetails:
      required:
      - code
      - reason
      - refunded_at
      properties:
        code:
          type: string
          description: The code of the refund
        reason:
          type: string
          description: The reason of the refund
        refunded_at:
          type: string
          description: The time of the refund
        risk_rejection_reason:
          type: string
          description: If the return is due to a risk rejection, this field will be populated with the reason for the risk rejection.
    TravelRuleBeneficiary:
      type: object
      description: Travel Rule details for beneficiary crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: Mailing or legal address of the beneficiary. Usually omitted when `is_self` is `true`.
          allOf:
          - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        legal_entity_identifier:
          type: string
          description: The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of the beneficiary. Provide this when the beneficiary is a legal entity rather than an individual.
    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'
    EndToEndId:
      description: The end-to-end ID of the FedNow transaction, assigned by the sending bank, and is not guaranteed to be unique across payments.
      type: string
    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'
    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'
    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'
    Imad:
      description: (Wire only) The IMAD of a wire transfer, if available
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 40
    SepaReference:
      description: A reference message to be sent with a SEPA transaction. We recommend you set a unique value to help you and your customers track payments end to end. It must be from 6 to 140 characters. The allowed characters are `a-z`, `A-Z`, `0-9`, spaces, ampersand (`&`), hyphen (`-`), full stop (`.`), and solidus (`/`). If not populated, the default value is "Payment via Bridge {unique_token}".
      type: string
      minLength: 6
      maxLength: 140
    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'
    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'
    TravelRuleAddress:
      type: object
      description: Address for travel rule submissions. All fields are optional to support partial address data (e.g. country-only).
      properties:
        street_line_1:
          type: string
        street_line_2:
          type: string
        city:
          type: string
        state:
          type: string
          description: ISO 3166-2 subdivision code.
        postal_code:
          type: string
        country:
          description: Three-letter alpha-3 country code as defined in the ISO 3166-1 spec.
          type: string
          minLength: 3
          maxLength: 3
    VirtualAccountSourceInput:
      required:
      - currency
      properties:
        currency:
          $ref: '#/components/schemas/EuroInclusiveFiatCurrency'
      example:
        currency: usd
    VirtualAccountEvent:
      required:
      - id
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        type:
          type: string
          description: The type of activity
          enum:
          - funds_scheduled
          - funds_received
          - payment_submitted
          - payment_processed
          - in_review
          - refund
          - refund_in_flight
          - refund_failed
          - microdeposit
          - account_update
          - deactivation
          - activation
        customer_id:
          $ref: '#/components/schemas/Id'
          description: The id of the Bridge customer that this Virtual Account event belongs to
          type: string
          minLength: 1
          readOnly: true
        virtual_account_id:
          $ref: '#/components/schemas/Id'
          description: The id of the Virtual Account that this Virtual Account event belongs to
          type: string
          minLength: 1
          readOnly: true
        amount:
          type: string
          description: Amount for that event, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc. For "incoming" events such as funds_received or under_review, this is the initial amount received. For "outgoing" events such as payment_submitted and payment_processed, this is the amount of funds sent to the destination. For non-transactional events such as account_update, this will be zero.
        currency:
          $ref: '#/components/schemas/Currency'
        developer_fee_amount:
          type: string
          description: Amount of the developer fee if any, represented as a dollar denominated string. This is the final amount taken out of what is ultimately received by your customer, not a percentage. Examples include "100.25", "0.1", "1.234567" etc.
        exchange_fee_amount:
          type: string
          description: Amount of the exchange fee if any, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
        subtotal_amount:
          type: string
          description: Amount of the subtotal, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
        gas_fee:
          type: string
          description: Amount of the gas fee if any, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
        deposit_id:
          type: string
          description: The id of the deposit related to this event. This id can be used to link multiple events to the same transaction. Omitted for some `refund` cases.
        destination_tx_hash:
          type: string
          description: The hash of the on-chain transfer to the destination address
        destination_payment_rail:
          type: string
          description: The destination payment rail where the funds are deposited to
        source:
          $ref: '#/components/schemas/VirtualAccountEventSource'
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the event
          format: date-time
        receipt

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bridge/refs/heads/main/openapi/bridge-virtual-accounts-api-openapi.yml